summaryrefslogtreecommitdiffstats
path: root/raul
diff options
context:
space:
mode:
Diffstat (limited to 'raul')
-rw-r--r--raul/AtomicInt.hpp5
-rw-r--r--raul/AtomicPtr.hpp5
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();