Sirikata
Public Member Functions | Static Private Member Functions | Private Attributes
Sirikata::AtomicValue< T > Class Template Reference

#include <AtomicTypes.hpp>

Collaboration diagram for Sirikata::AtomicValue< T >:

List of all members.

Public Member Functions

 AtomicValue ()
 AtomicValue (T other)
 AtomicValue (const AtomicValue &other)
const AtomicValue< T > & operator= (T other)
const AtomicValueoperator= (const AtomicValue &other)
bool operator== (T other) const
bool operator== (const AtomicValue &other) const
 operator T () const
read () const
operator+= (const T &other)
operator-= (const T &other)
operator++ ()
operator-- ()
operator++ (int)
operator-- (int)

Static Private Member Functions

static volatile T * getThisAlignedAddress (volatile char *data)
static volatile const T * getThisAlignedAddress (volatile const char *data)

Private Attributes

volatile char mMemory [sizeof(T)+(sizeof(T)==4?4:(sizeof(T)==2?2:(sizeof(T)==8?8:16)))]

template<typename T>
class Sirikata::AtomicValue< T >


Constructor & Destructor Documentation

template<typename T>
Sirikata::AtomicValue< T >::AtomicValue ( ) [inline]
template<typename T>
Sirikata::AtomicValue< T >::AtomicValue ( other) [inline, explicit]
template<typename T>
Sirikata::AtomicValue< T >::AtomicValue ( const AtomicValue< T > &  other) [inline]

Member Function Documentation

template<typename T>
static volatile T* Sirikata::AtomicValue< T >::getThisAlignedAddress ( volatile char *  data) [inline, static, private]
template<typename T>
static volatile const T* Sirikata::AtomicValue< T >::getThisAlignedAddress ( volatile const char *  data) [inline, static, private]
template<typename T>
Sirikata::AtomicValue< T >::operator T ( ) const [inline]
template<typename T>
T Sirikata::AtomicValue< T >::operator++ ( ) [inline]
template<typename T>
T Sirikata::AtomicValue< T >::operator++ ( int  ) [inline]
template<typename T>
T Sirikata::AtomicValue< T >::operator+= ( const T &  other) [inline]
template<typename T>
T Sirikata::AtomicValue< T >::operator-- ( ) [inline]
template<typename T>
T Sirikata::AtomicValue< T >::operator-- ( int  ) [inline]
template<typename T>
T Sirikata::AtomicValue< T >::operator-= ( const T &  other) [inline]
template<typename T>
const AtomicValue& Sirikata::AtomicValue< T >::operator= ( const AtomicValue< T > &  other) [inline]
template<typename T>
const AtomicValue<T>& Sirikata::AtomicValue< T >::operator= ( other) [inline]
template<typename T>
bool Sirikata::AtomicValue< T >::operator== ( const AtomicValue< T > &  other) const [inline]
template<typename T>
bool Sirikata::AtomicValue< T >::operator== ( other) const [inline]
template<typename T>
T Sirikata::AtomicValue< T >::read ( ) const [inline]

Member Data Documentation

template<typename T>
volatile char Sirikata::AtomicValue< T >::mMemory[sizeof(T)+(sizeof(T)==4?4:(sizeof(T)==2?2:(sizeof(T)==8?8:16)))] [private]

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