sipxportlib  Version 3.3
Public Member Functions | List of all members
OsAtomicPtr< T > Class Template Reference

#include <OsAtomics.h>

Inheritance diagram for OsAtomicPtr< T >:
Inheritance graph
[legend]
Collaboration diagram for OsAtomicPtr< T >:
Collaboration graph
[legend]

Public Member Functions

bool is_lock_free () const
 
void store (T *val,::memory_order mo=::memory_order_seq_cst)
 
T * load (::memory_order mo=::memory_order_seq_cst) const
 
 operator T * () const
 
void fence (::memory_order mo) const
 
T * fetch_add (ptrdiff_t val,::memory_order mo=::memory_order_seq_cst)
 
T * fetch_sub (ptrdiff_t val,::memory_order mo=::memory_order_seq_cst)
 
 OsAtomicPtr ()
 
 OsAtomicPtr (T *val)
 
T * operator= (T *val)
 
T * operator+= (ptrdiff_t val)
 
T * operator-= (ptrdiff_t val)
 
bool is_lock_free () const
 
void store (T *val, memory_order mo=memory_order_seq_cst)
 
T * load (memory_order mo=memory_order_seq_cst) const
 
 operator T * () const
 
T * exchange (T *val, memory_order mo=memory_order_seq_cst)
 
bool compare_exchange (T *&expected, T *desired, memory_order mo=memory_order_seq_cst)
 
void fence (memory_order mo) const
 
T * fetch_add (ptrdiff_t val, memory_order mo=memory_order_seq_cst)
 
T * fetch_sub (ptrdiff_t val, memory_order mo=memory_order_seq_cst)
 
 OsAtomicPtr (T *val=NULL)
 
T * operator= (T *val)
 
T * operator+= (ptrdiff_t val)
 
T * operator-= (ptrdiff_t val)
 

Additional Inherited Members

- Protected Member Functions inherited from OsAtomicVoidPtr
bool is_lock_free () const
 
void store (void *val,::memory_order=::memory_order_seq_cst)
 
void * load (::memory_order=::memory_order_seq_cst) const
 
 operator void * () const
 
void fence (::memory_order) const
 
void * fetch_add (ptrdiff_t val,::memory_order=::memory_order_seq_cst)
 
void * fetch_sub (ptrdiff_t val,::memory_order=::memory_order_seq_cst)
 
 OsAtomicVoidPtr ()
 
 OsAtomicVoidPtr (void *val)
 
void * operator= (void *val)
 
void * operator+= (ptrdiff_t val)
 
void * operator-= (ptrdiff_t val)
 
bool is_lock_free () const
 
void store (void *val, memory_order order=memory_order_seq_cst)
 
void * load (memory_order order=memory_order_seq_cst) const
 
 operator void * () const
 
void * exchange (void *val, memory_order order=memory_order_seq_cst)
 
bool compare_exchange (void *&expected, void *desired, memory_order order=memory_order_seq_cst)
 
void fence (memory_order order) const
 
void * fetch_add (ptrdiff_t val, memory_order order=memory_order_seq_cst)
 
void * fetch_sub (ptrdiff_t val, memory_order order=memory_order_seq_cst)
 
 OsAtomicVoidPtr (void *val=NULL)
 
void * operator= (void *val)
 
void * operator+= (ptrdiff_t val)
 
void * operator-= (ptrdiff_t val)
 
- Protected Member Functions inherited from OsAtomic32< void * >
 OsAtomic32 (const OsAtomic32< void * > &)
 
OsAtomic32< void * > & operator= (const OsAtomic32< void * > &)
 
bool is_lock_free () const
 
void store (void *val, memory_order order=memory_order_seq_cst)
 
void * load (memory_order=memory_order_seq_cst) const
 
 operator void * () const
 
void * exchange (void *val, memory_order=memory_order_seq_cst)
 
bool compare_exchange (void *&expected, void *desired, memory_order=memory_order_seq_cst)
 
void fence (memory_order) const
 
void * fetch_add (void *val, memory_order=memory_order_seq_cst)
 
void * fetch_sub (void *val, memory_order=memory_order_seq_cst)
 
void * fetch_and (void *val, memory_order=memory_order_seq_cst)
 
void * fetch_or (void *val, memory_order=memory_order_seq_cst)
 
 OsAtomic32 (void *val=0)
 
void * operator= (void *val)
 
void * operator++ (int)
 
void * operator++ ()
 
void * operator-- (int)
 
void * operator-- ()
 
void * operator+= (void *val)
 
void * operator-= (void *val)
 
void * operator&= (void *val)
 
void * operator|= (void *val)
 
- Protected Attributes inherited from OsAtomic32< void * >
volatile int32_t mVal
 

Constructor & Destructor Documentation

OsAtomicPtr ( )
inline
OsAtomicPtr ( T *  val)
inlineexplicit
OsAtomicPtr ( T *  val = NULL)
inlineexplicit

Member Function Documentation

bool is_lock_free ( ) const
inline
void store ( T *  val,
::memory_order  mo = ::memory_order_seq_cst 
)
inline
T* load ( ::memory_order  mo = ::memory_order_seq_cst) const
inline
operator T * ( ) const
inline
void fence ( ::memory_order  mo) const
inline
T* fetch_add ( ptrdiff_t  val,
::memory_order  mo = ::memory_order_seq_cst 
)
inline
T* fetch_sub ( ptrdiff_t  val,
::memory_order  mo = ::memory_order_seq_cst 
)
inline
T* operator= ( T *  val)
inline
T* operator+= ( ptrdiff_t  val)
inline
T* operator-= ( ptrdiff_t  val)
inline
bool is_lock_free ( ) const
inline
void store ( T *  val,
memory_order  mo = memory_order_seq_cst 
)
inline
T* load ( memory_order  mo = memory_order_seq_cst) const
inline
operator T * ( ) const
inline
T* exchange ( T *  val,
memory_order  mo = memory_order_seq_cst 
)
inline
bool compare_exchange ( T *&  expected,
T *  desired,
memory_order  mo = memory_order_seq_cst 
)
inline
void fence ( memory_order  mo) const
inline
T* fetch_add ( ptrdiff_t  val,
memory_order  mo = memory_order_seq_cst 
)
inline
T* fetch_sub ( ptrdiff_t  val,
memory_order  mo = memory_order_seq_cst 
)
inline
T* operator= ( T *  val)
inline
T* operator+= ( ptrdiff_t  val)
inline
T* operator-= ( ptrdiff_t  val)
inline