Galois::AtomicImpl::GAtomicImpl< T, W > Class Template Reference

Common implementation. More...

#include <Atomic.h>

Inheritance diagram for Galois::AtomicImpl::GAtomicImpl< T, W >:
Galois::AtomicImpl::GAtomicBase< T, W >

List of all members.

Public Member Functions

 GAtomicImpl (const T &i)
 Initialize with a value.
 GAtomicImpl ()
 default constructor
operator+= (const T &rhs)
 atomic add and fetch
operator-= (const T &rhs)
 atomic sub and fetch
operator++ ()
 atomic increment and fetch
operator++ (int)
 atomic fetch and increment
operator-- ()
 atomic decrement and fetch
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 GAtomicImpl &i)
 assignment operator
bool cas (const T &expected, const T &updated)
 direct compare and swap

Private Attributes

W< T > val

Detailed Description

template<typename T, template< typename _ > class W>
class Galois::AtomicImpl::GAtomicImpl< T, W >

Common implementation.


Constructor & Destructor Documentation

template<typename T, template< typename _ > class W>
Galois::AtomicImpl::GAtomicImpl< T, W >::GAtomicImpl ( const T &  i  )  [inline, explicit]

Initialize with a value.

template<typename T, template< typename _ > class W>
Galois::AtomicImpl::GAtomicImpl< T, W >::GAtomicImpl (  )  [inline]

default constructor


Member Function Documentation

template<typename T, template< typename _ > class W>
bool Galois::AtomicImpl::GAtomicImpl< T, W >::cas ( const T &  expected,
const T &  updated 
) [inline]

direct compare and swap

template<typename T, template< typename _ > class W>
Galois::AtomicImpl::GAtomicImpl< T, W >::operator T (  )  const [inline]

conversion operator to base data type

Reimplemented in Galois::AtomicImpl::GAtomicBase< bool, W >.

template<typename T, template< typename _ > class W>
T Galois::AtomicImpl::GAtomicImpl< T, W >::operator++ ( int   )  [inline]

atomic fetch and increment

template<typename T, template< typename _ > class W>
T Galois::AtomicImpl::GAtomicImpl< T, W >::operator++ (  )  [inline]

atomic increment and fetch

template<typename T, template< typename _ > class W>
T Galois::AtomicImpl::GAtomicImpl< T, W >::operator+= ( const T &  rhs  )  [inline]

atomic add and fetch

template<typename T, template< typename _ > class W>
T Galois::AtomicImpl::GAtomicImpl< T, W >::operator-- ( int   )  [inline]

atomic fetch and decrement

template<typename T, template< typename _ > class W>
T Galois::AtomicImpl::GAtomicImpl< T, W >::operator-- (  )  [inline]

atomic decrement and fetch

template<typename T, template< typename _ > class W>
T Galois::AtomicImpl::GAtomicImpl< T, W >::operator-= ( const T &  rhs  )  [inline]

atomic sub and fetch

template<typename T, template< typename _ > class W>
T& Galois::AtomicImpl::GAtomicImpl< T, W >::operator= ( const GAtomicImpl< T, W > &  i  )  [inline]

assignment operator

Reimplemented in Galois::AtomicImpl::GAtomicBase< T, W >.

template<typename T, template< typename _ > class W>
T& Galois::AtomicImpl::GAtomicImpl< T, W >::operator= ( const T &  i  )  [inline]

Member Data Documentation

template<typename T, template< typename _ > class W>
W<T> Galois::AtomicImpl::GAtomicImpl< T, W >::val [private]

The documentation for this class was generated from the following file:

Generated on 2 Nov 2013 for Galois by  doxygen 1.6.1