Bike-X  0.8
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
OVR::AtomicPtr< T > Class Template Reference

#include "OVR_Atomic.h"

Inheritance diagram for OVR::AtomicPtr< T >:
Inheritance graph
Collaboration diagram for OVR::AtomicPtr< T >:
Collaboration graph

Public Member Functions

 AtomicPtr ()
 
 AtomicPtr (T *val)
 
T * operator-> () const
 
 operator T * () const
 
template<class I >
T * ExchangeAdd_Sync (I incr)
 
template<class I >
T * ExchangeAdd_Release (I incr)
 
template<class I >
T * ExchangeAdd_Acquire (I incr)
 
template<class I >
T * ExchangeAdd_NoSync (I incr)
 
T * operator= (T *val)
 
template<class I >
T * operator+= (I val)
 
template<class I >
T * operator-= (I val)
 
T * operator++ ()
 
T * operator-- ()
 
T * operator++ (int)
 
T * operator-- (int)
 
- Public Member Functions inherited from OVR::AtomicValueBase< T * >
 AtomicValueBase ()
 
 AtomicValueBase (T *val)
 
 operator T * () const
 
T * Exchange_Sync (T *val)
 
T * Exchange_Release (T *val)
 
T * Exchange_Acquire (T *val)
 
T * Exchange_NoSync (T *val)
 
bool CompareAndSet_Sync (T *c, T *val)
 
bool CompareAndSet_Release (T *c, T *val)
 
bool CompareAndSet_Acquire (T *c, T *val)
 
bool CompareAndSet_NoSync (T *c, T *val)
 
void Store_Release (T *val)
 
T * Load_Acquire () const
 

Private Types

typedef AtomicValueBase< T * >::Ops Ops
 

Additional Inherited Members

- Data Fields inherited from OVR::AtomicValueBase< T * >
volatile T * Value
 
- Protected Types inherited from OVR::AtomicValueBase< T * >
typedef AtomicOps< T * > Ops
 

Detailed Description

template<class T>
class OVR::AtomicPtr< T >

Definition at line 51 of file OVR_Atomic.h.

Member Typedef Documentation

template<class T >
typedef AtomicValueBase<T*>::Ops OVR::AtomicPtr< T >::Ops
private

Definition at line 635 of file OVR_Atomic.h.

Constructor & Destructor Documentation

template<class T >
OVR::AtomicPtr< T >::AtomicPtr ( )
inline

Definition at line 639 of file OVR_Atomic.h.

template<class T >
OVR::AtomicPtr< T >::AtomicPtr ( T *  val)
inlineexplicit

Definition at line 640 of file OVR_Atomic.h.

Member Function Documentation

template<class T >
template<class I >
T* OVR::AtomicPtr< T >::ExchangeAdd_Acquire ( incr)
inline

Definition at line 659 of file OVR_Atomic.h.

template<class T >
template<class I >
T* OVR::AtomicPtr< T >::ExchangeAdd_NoSync ( incr)
inline

Definition at line 661 of file OVR_Atomic.h.

template<class T >
template<class I >
T* OVR::AtomicPtr< T >::ExchangeAdd_Release ( incr)
inline

Definition at line 657 of file OVR_Atomic.h.

template<class T >
template<class I >
T* OVR::AtomicPtr< T >::ExchangeAdd_Sync ( incr)
inline

Definition at line 655 of file OVR_Atomic.h.

template<class T >
OVR::AtomicPtr< T >::operator T * ( ) const
inline

Definition at line 648 of file OVR_Atomic.h.

template<class T >
T* OVR::AtomicPtr< T >::operator++ ( )
inline

Definition at line 672 of file OVR_Atomic.h.

template<class T >
T* OVR::AtomicPtr< T >::operator++ ( int  )
inline

Definition at line 674 of file OVR_Atomic.h.

template<class T >
template<class I >
T* OVR::AtomicPtr< T >::operator+= ( val)
inline

Definition at line 668 of file OVR_Atomic.h.

template<class T >
T* OVR::AtomicPtr< T >::operator-- ( )
inline

Definition at line 673 of file OVR_Atomic.h.

template<class T >
T* OVR::AtomicPtr< T >::operator-- ( int  )
inline

Definition at line 675 of file OVR_Atomic.h.

template<class T >
template<class I >
T* OVR::AtomicPtr< T >::operator-= ( val)
inline

Definition at line 670 of file OVR_Atomic.h.

template<class T >
T* OVR::AtomicPtr< T >::operator-> ( ) const
inline

Definition at line 643 of file OVR_Atomic.h.

template<class T >
T* OVR::AtomicPtr< T >::operator= ( T *  val)
inline

Definition at line 665 of file OVR_Atomic.h.


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