NAME

ACE_Atomic_Op - Transparently parameterizes synchronization into basic arithmetic operations.

SYNOPSIS

#include <ace/Synch_T.h>

template<class ACE_LOCK, class TYPE> class ACE_Atomic_Op { public: ACE_Atomic_Op (void); ACE_Atomic_Op (const TYPE &c); TYPE operator++ (void); TYPE operator++ (int); TYPE operator+= (const TYPE &i); TYPE operator-- (void); TYPE operator-- (int); TYPE operator-= (const TYPE &i); int operator== (const TYPE &i) const; int operator!= (const TYPE &i) const; int operator>= (const TYPE &i) const; int operator> (const TYPE &rhs) const; int operator<= (const TYPE &rhs) const; int operator< (const TYPE &rhs) const; void operator= (const TYPE &i); void operator= (const ACE_Atomic_Op<ACE_LOCK, TYPE> &rhs); TYPE value (void) const; void dump (void) const; ACE_Atomic_Op (const ACE_Atomic_Op<ACE_LOCK, TYPE> &); ACE_LOCK &mutex (void); TYPE &value_i (void); private: ACE_LOCK mutex_; TYPE value_; };

DESCRIPTION

This class is described in an article in the July/August 1994 issue of the C++ Report magazine. It implements a templatized version of the Decorator pattern from the GoF book.

Initialization methods.

ACE_Atomic_Op (void);

ACE_Atomic_Op (const TYPE &c);

Accessors.

TYPE operator++ (void);

TYPE operator++ (int);

TYPE operator+= (const TYPE &i);

TYPE operator-- (void);

TYPE operator-- (int);

TYPE operator-= (const TYPE &i);

int operator== (const TYPE &i) const;

int operator!= (const TYPE &i) const;

int operator>= (const TYPE &i) const;

int operator> (const TYPE &rhs) const;

int operator<= (const TYPE &rhs) const;

int operator< (const TYPE &rhs) const;

void operator= (const TYPE &i);

void operator= (const ACE_Atomic_Op<ACE_LOCK, TYPE> &rhs);

TYPE value (void) const;

void dump (void) const;

ACE_ALLOC_HOOK_DECLARE; Declare the dynamic allocation hooks.

ACE_Atomic_Op (const ACE_Atomic_Op<ACE_LOCK, TYPE> &);

ACE_LOCK &mutex (void);

TYPE &value_i (void);

AUTHOR

Doug Schmidt

LIBRARY

ace