diff options
Diffstat (limited to 'raul')
-rw-r--r-- | raul/AtomicInt.hpp | 5 | ||||
-rw-r--r-- | raul/AtomicPtr.hpp | 5 |
2 files changed, 10 insertions, 0 deletions
diff --git a/raul/AtomicInt.hpp b/raul/AtomicInt.hpp index 2fd624c..172af6b 100644 --- a/raul/AtomicInt.hpp +++ b/raul/AtomicInt.hpp @@ -51,6 +51,11 @@ public: inline int operator+(int val) const { return get() + val; } inline int operator-(int val) const { return get() - val; } + inline bool operator==(const AtomicInt& other) const { + Raul::barrier(); + return _val == other._val; + } + inline AtomicInt& operator+=(int val) { __sync_fetch_and_add(&_val, val); return *this; diff --git a/raul/AtomicPtr.hpp b/raul/AtomicPtr.hpp index 91c5c35..0dc369b 100644 --- a/raul/AtomicPtr.hpp +++ b/raul/AtomicPtr.hpp @@ -38,6 +38,11 @@ public: return static_cast<T*>(_val); } + inline bool operator==(const AtomicPtr& other) const { + Raul::barrier(); + return _val == other._val; + } + inline void operator=(T* val) { _val = val; Raul::barrier(); |