Line data Source code
1 : #ifndef OPENDDS_DCPS_ATOMIC_BOOL_H 2 : #define OPENDDS_DCPS_ATOMIC_BOOL_H 3 : 4 : #include "Atomic.h" 5 : #include "SafeBool_T.h" 6 : 7 : #include <dds/Versioned_Namespace.h> 8 : 9 : OPENDDS_BEGIN_VERSIONED_NAMESPACE_DECL 10 : 11 : namespace OpenDDS { 12 : namespace DCPS { 13 : 14 : class AtomicBool : public SafeBool_T<AtomicBool> { 15 : public: 16 26 : AtomicBool(bool value) 17 26 : : impl_(value) 18 : { 19 26 : } 20 : 21 91 : bool boolean_test() const 22 : { 23 91 : return impl_; 24 : } 25 : 26 50 : AtomicBool& operator=(bool value) 27 : { 28 50 : impl_ = value; 29 50 : return *this; 30 : } 31 : 32 : private: 33 : Atomic<bool> impl_; 34 : }; 35 : 36 : } // namespace DCPS 37 : } // namespace OpenDDS 38 : 39 : OPENDDS_END_VERSIONED_NAMESPACE_DECL 40 : 41 : #endif