ACE_Atomic_Op< ACE_Thread_Mutex, unsigned long > Class Template Reference

#include <Atomic_Op.h>

List of all members.

Public Member Functions

 ACE_Atomic_Op (void)
 Initialize value_ to 0.
 ACE_Atomic_Op (unsigned long c)
 Initialize value_ to c.
 ACE_Atomic_Op (const ACE_Atomic_Op< ACE_Thread_Mutex, unsigned long > &c)
 Manage copying...
unsigned long operator++ (void)
 Atomically pre-increment value_.
unsigned long operator++ (int)
 Atomically post-increment value_.
unsigned long operator+= (unsigned long rhs)
 Atomically increment value_ by rhs.
unsigned long operator-- (void)
 Atomically pre-decrement value_.
unsigned long operator-- (int)
 Atomically post-decrement value_.
unsigned long operator-= (unsigned long rhs)
 Atomically decrement value_ by rhs.
bool operator== (unsigned long rhs) const
 Atomically compare value_ with rhs.
bool operator!= (unsigned long rhs) const
 Atomically compare value_ with rhs.
bool operator>= (unsigned long rhs) const
 Atomically check if value_ greater than or equal to rhs.
bool operator> (unsigned long rhs) const
 Atomically check if value_ greater than rhs.
bool operator<= (unsigned long rhs) const
 Atomically check if value_ less than or equal to rhs.
bool operator< (unsigned long rhs) const
 Atomically check if value_ less than rhs.
ACE_Atomic_Op
< ACE_Thread_Mutex, unsigned
long > & 
operator= (unsigned long rhs)
 Atomically assign rhs to value_.
ACE_Atomic_Op
< ACE_Thread_Mutex, unsigned
long > & 
operator= (const ACE_Atomic_Op< ACE_Thread_Mutex, unsigned long > &rhs)
 Atomically assign <rhs> to value_.
unsigned long value (void) const
 Explicitly return value_.
void dump (void) const
 Dump the state of an object.
volatile unsigned long & value_i (void)
 Explicitly return value_ (by reference).

Static Public Member Functions

static void init_functions (void)

Private Member Functions

ACE_Thread_Mutexmutex (void)

Private Attributes

volatile unsigned long value_
 Current object decorated by the atomic op.

Static Private Attributes

static long(* increment_fn_ )(volatile long *)
static long(* decrement_fn_ )(volatile long *)
static long(* exchange_fn_ )(volatile long *, long)
static long(* exchange_add_fn_ )(volatile long *, long)

Detailed Description

template<>
class ACE_Atomic_Op< ACE_Thread_Mutex, unsigned long >

Specialization of ACE_Atomic_Op for platforms that support atomic integer operations.


Constructor & Destructor Documentation

ACE_Atomic_Op< ACE_Thread_Mutex, unsigned long >::ACE_Atomic_Op ( void   ) 

Initialize value_ to 0.

ACE_Atomic_Op< ACE_Thread_Mutex, unsigned long >::ACE_Atomic_Op ( unsigned long  c  ) 

Initialize value_ to c.

ACE_Atomic_Op< ACE_Thread_Mutex, unsigned long >::ACE_Atomic_Op ( const ACE_Atomic_Op< ACE_Thread_Mutex, unsigned long > &  c  ) 

Manage copying...


Member Function Documentation

void ACE_Atomic_Op< ACE_Thread_Mutex, unsigned long >::dump ( void   )  const

Dump the state of an object.

static void ACE_Atomic_Op< ACE_Thread_Mutex, unsigned long >::init_functions ( void   )  [static]

Used during ACE object manager initialization to optimize the fast atomic op implementation according to the number of CPUs.

ACE_Thread_Mutex& ACE_Atomic_Op< ACE_Thread_Mutex, unsigned long >::mutex ( void   )  [private]
bool ACE_Atomic_Op< ACE_Thread_Mutex, unsigned long >::operator!= ( unsigned long  rhs  )  const

Atomically compare value_ with rhs.

unsigned long ACE_Atomic_Op< ACE_Thread_Mutex, unsigned long >::operator++ ( int   ) 

Atomically post-increment value_.

unsigned long ACE_Atomic_Op< ACE_Thread_Mutex, unsigned long >::operator++ ( void   ) 

Atomically pre-increment value_.

unsigned long ACE_Atomic_Op< ACE_Thread_Mutex, unsigned long >::operator+= ( unsigned long  rhs  ) 

Atomically increment value_ by rhs.

unsigned long ACE_Atomic_Op< ACE_Thread_Mutex, unsigned long >::operator-- ( int   ) 

Atomically post-decrement value_.

unsigned long ACE_Atomic_Op< ACE_Thread_Mutex, unsigned long >::operator-- ( void   ) 

Atomically pre-decrement value_.

unsigned long ACE_Atomic_Op< ACE_Thread_Mutex, unsigned long >::operator-= ( unsigned long  rhs  ) 

Atomically decrement value_ by rhs.

bool ACE_Atomic_Op< ACE_Thread_Mutex, unsigned long >::operator< ( unsigned long  rhs  )  const

Atomically check if value_ less than rhs.

bool ACE_Atomic_Op< ACE_Thread_Mutex, unsigned long >::operator<= ( unsigned long  rhs  )  const

Atomically check if value_ less than or equal to rhs.

ACE_Atomic_Op<ACE_Thread_Mutex, unsigned long>& ACE_Atomic_Op< ACE_Thread_Mutex, unsigned long >::operator= ( const ACE_Atomic_Op< ACE_Thread_Mutex, unsigned long > &  rhs  ) 

Atomically assign <rhs> to value_.

ACE_Atomic_Op<ACE_Thread_Mutex, unsigned long>& ACE_Atomic_Op< ACE_Thread_Mutex, unsigned long >::operator= ( unsigned long  rhs  ) 

Atomically assign rhs to value_.

bool ACE_Atomic_Op< ACE_Thread_Mutex, unsigned long >::operator== ( unsigned long  rhs  )  const

Atomically compare value_ with rhs.

bool ACE_Atomic_Op< ACE_Thread_Mutex, unsigned long >::operator> ( unsigned long  rhs  )  const

Atomically check if value_ greater than rhs.

bool ACE_Atomic_Op< ACE_Thread_Mutex, unsigned long >::operator>= ( unsigned long  rhs  )  const

Atomically check if value_ greater than or equal to rhs.

unsigned long ACE_Atomic_Op< ACE_Thread_Mutex, unsigned long >::value ( void   )  const

Explicitly return value_.

volatile unsigned long& ACE_Atomic_Op< ACE_Thread_Mutex, unsigned long >::value_i ( void   ) 

Explicitly return value_ (by reference).


Member Data Documentation

long(* ACE_Atomic_Op< ACE_Thread_Mutex, unsigned long >::decrement_fn_)(volatile long *) [static, private]
long(* ACE_Atomic_Op< ACE_Thread_Mutex, unsigned long >::exchange_add_fn_)(volatile long *, long) [static, private]
long(* ACE_Atomic_Op< ACE_Thread_Mutex, unsigned long >::exchange_fn_)(volatile long *, long) [static, private]
long(* ACE_Atomic_Op< ACE_Thread_Mutex, unsigned long >::increment_fn_)(volatile long *) [static, private]
volatile unsigned long ACE_Atomic_Op< ACE_Thread_Mutex, unsigned long >::value_ [private]

Current object decorated by the atomic op.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on Mon Nov 30 00:51:33 2009 for ACE by  doxygen 1.6.1