Atomic Wrapper for any integer or bool type. More...
#include <Atomic.h>
Public Member Functions | |
GAtomic (const T &i) | |
Initialize with a value. | |
T | operator+= (const T &rhs) |
atomic add and fetch | |
T | operator-= (const T &rhs) |
atomic sub and fetch | |
T | operator++ () |
atomic increment and fetch | |
T | operator++ (int) |
atomic fetch and increment | |
T | operator-- () |
atomic decrement and fetch | |
T | operator-- (int) |
atomic fetch and decrement | |
operator T () const | |
conversion operator to base data type | |
T | operator= (const T &i) |
assign from underlying type | |
T | operator= (const GAtomic &i) |
assignment operator | |
bool | cas (const T &expected, const T &updated) |
direct compare and swap | |
Private Attributes | |
T | val |
Atomic Wrapper for any integer or bool type.
An atomic wrapper that provides sensible atomic behavior for most primative data types. Operators return the value of type T so as to retain atomic RMW semantics.
Galois::GAtomic< T >::GAtomic | ( | const T & | i | ) | [inline, explicit] |
Initialize with a value.
bool Galois::GAtomic< T >::cas | ( | const T & | expected, | |
const T & | updated | |||
) | [inline] |
direct compare and swap
Galois::GAtomic< T >::operator T | ( | ) | const [inline] |
conversion operator to base data type
T Galois::GAtomic< T >::operator++ | ( | int | ) | [inline] |
atomic fetch and increment
T Galois::GAtomic< T >::operator++ | ( | ) | [inline] |
atomic increment and fetch
T Galois::GAtomic< T >::operator+= | ( | const T & | rhs | ) | [inline] |
atomic add and fetch
T Galois::GAtomic< T >::operator-- | ( | int | ) | [inline] |
atomic fetch and decrement
T Galois::GAtomic< T >::operator-- | ( | ) | [inline] |
atomic decrement and fetch
T Galois::GAtomic< T >::operator-= | ( | const T & | rhs | ) | [inline] |
atomic sub and fetch
T Galois::GAtomic< T >::operator= | ( | const GAtomic< T > & | i | ) | [inline] |
assignment operator
T Galois::GAtomic< T >::operator= | ( | const T & | i | ) | [inline] |
assign from underlying type
T Galois::GAtomic< T >::val [private] |