Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
FIX::atomic_count Class Reference

Atomic count class - consider using interlocked functions. More...

#include <AtomicCount.h>

Public Member Functions

 atomic_count (long v)
 
long operator++ ()
 
long operator-- ()
 
 operator long () const
 

Private Member Functions

 atomic_count (atomic_count const &)
 
atomic_countoperator= (atomic_count const &)
 

Static Private Member Functions

static int atomic_exchange_and_add (int *pw, int dv)
 

Private Attributes

int value_
 

Detailed Description

Atomic count class - consider using interlocked functions.

Definition at line 143 of file AtomicCount.h.

Constructor & Destructor Documentation

◆ atomic_count() [1/2]

FIX::atomic_count::atomic_count ( long  v)
inlineexplicit

Definition at line 164 of file AtomicCount.h.

167 :
168  "+m"(*pw), "=r"(r) : // outputs (%0, %1)

◆ atomic_count() [2/2]

FIX::atomic_count::atomic_count ( atomic_count const &  )
private

Member Function Documentation

◆ atomic_exchange_and_add()

static int FIX::atomic_count::atomic_exchange_and_add ( int *  pw,
int  dv 
)
inlinestaticprivate

Definition at line 190 of file AtomicCount.h.

◆ operator long()

FIX::atomic_count::operator long ( ) const
inline

Definition at line 176 of file AtomicCount.h.

◆ operator++()

long FIX::atomic_count::operator++ ( )
inline

Definition at line 166 of file AtomicCount.h.

167  :
168  "+m"(*pw), "=r"(r) : // outputs (%0, %1)
169  "1"(dv) : // inputs (%2 == %1)

◆ operator--()

long FIX::atomic_count::operator-- ( )
inline

Definition at line 171 of file AtomicCount.h.

◆ operator=()

atomic_count& FIX::atomic_count::operator= ( atomic_count const &  )
private

Member Data Documentation

◆ value_

int FIX::atomic_count::value_
mutableprivate

Definition at line 186 of file AtomicCount.h.


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

Generated on Wed Apr 29 2020 19:41:30 for QuickFIX by doxygen 1.8.17 written by Dimitri van Heesch, © 1997-2001