X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=simgear%2Fstructure%2FSGReferenced.hxx;h=6bce1eb82bd83da9e4fce1d88e37c414340baf91;hb=ff7e70f4d570c472bbc6fe4198483d927914a35e;hp=003536a39fd542191e36819c0ee62c1212ba4414;hpb=8f9921d00c692573263a0215150e0892a9ffb68c;p=simgear.git diff --git a/simgear/structure/SGReferenced.hxx b/simgear/structure/SGReferenced.hxx index 003536a3..6bce1eb8 100644 --- a/simgear/structure/SGReferenced.hxx +++ b/simgear/structure/SGReferenced.hxx @@ -14,12 +14,19 @@ * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software - * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * */ #ifndef SGReferenced_HXX #define SGReferenced_HXX +#define USE_OPENTHREADS_ATOMIC + +#ifndef USE_OPENTHREADS_ATOMIC +#include "SGAtomic.hxx" +#else +#include +#endif /// Base class for all reference counted SimGear objects /// Classes derived from this one are meant to be managed with @@ -47,7 +54,11 @@ public: { if (ref) return 1u < ref->_refcount; else return false; } private: - mutable unsigned _refcount; +#ifndef USE_OPENTHREADS_ATOMIC + mutable SGAtomic _refcount; +#else + mutable OpenThreads::Atomic _refcount; +#endif }; #endif