OpenDDS  Snapshot(2023/04/07-19:43)
Public Member Functions | Private Types | Private Attributes | List of all members
OpenDDS::DCPS::Atomic< T > Class Template Reference

#include <Atomic.h>

Collaboration diagram for OpenDDS::DCPS::Atomic< T >:
Collaboration graph
[legend]

Public Member Functions

 Atomic ()
 
 Atomic (T desired)
 
load () const
 
void store (T desired) const
 
exchange (const T &desired)
 
 operator T () const
 
operator= (const T &desired)
 
operator++ ()
 
operator++ (int)
 
operator-- ()
 
operator-- (int)
 
operator+= (T arg)
 
operator-= (T arg)
 

Private Types

typedef ACE_Atomic_Op< ACE_Thread_Mutex, T > Base
 

Private Attributes

Base impl_
 

Detailed Description

template<typename T>
class OpenDDS::DCPS::Atomic< T >

Definition at line 27 of file Atomic.h.

Member Typedef Documentation

◆ Base

template<typename T>
typedef ACE_Atomic_Op<ACE_Thread_Mutex, T> OpenDDS::DCPS::Atomic< T >::Base
private

Definition at line 50 of file Atomic.h.

Constructor & Destructor Documentation

◆ Atomic() [1/2]

template<typename T>
OpenDDS::DCPS::Atomic< T >::Atomic ( )
inline

Definition at line 30 of file Atomic.h.

30 : impl_() {}

◆ Atomic() [2/2]

template<typename T>
OpenDDS::DCPS::Atomic< T >::Atomic ( desired)
inline

Definition at line 31 of file Atomic.h.

31 : impl_(desired) {}

Member Function Documentation

◆ exchange()

template<typename T>
T OpenDDS::DCPS::Atomic< T >::exchange ( const T &  desired)
inline

Definition at line 35 of file Atomic.h.

35 { return impl_.exchange(desired); }
TYPE exchange(TYPE newval)

◆ load()

template<typename T>
T OpenDDS::DCPS::Atomic< T >::load ( ) const
inline

◆ operator T()

template<typename T>
OpenDDS::DCPS::Atomic< T >::operator T ( ) const
inline

Definition at line 37 of file Atomic.h.

37 { return impl_.value(); }
TYPE value(void) const

◆ operator++() [1/2]

template<typename T>
T OpenDDS::DCPS::Atomic< T >::operator++ ( void  )
inline

Definition at line 40 of file Atomic.h.

40 { return ++impl_; }

◆ operator++() [2/2]

template<typename T>
T OpenDDS::DCPS::Atomic< T >::operator++ ( int  )
inline

Definition at line 41 of file Atomic.h.

41 { return impl_++; }

◆ operator+=()

template<typename T>
T OpenDDS::DCPS::Atomic< T >::operator+= ( arg)
inline

Definition at line 46 of file Atomic.h.

46 { return impl_ += arg; }

◆ operator--() [1/2]

template<typename T>
T OpenDDS::DCPS::Atomic< T >::operator-- ( void  )
inline

Definition at line 43 of file Atomic.h.

43 { return --impl_; }

◆ operator--() [2/2]

template<typename T>
T OpenDDS::DCPS::Atomic< T >::operator-- ( int  )
inline

Definition at line 44 of file Atomic.h.

44 { return impl_--; }

◆ operator-=()

template<typename T>
T OpenDDS::DCPS::Atomic< T >::operator-= ( arg)
inline

Definition at line 47 of file Atomic.h.

47 { return impl_ -= arg; }

◆ operator=()

template<typename T>
T OpenDDS::DCPS::Atomic< T >::operator= ( const T &  desired)
inline

Definition at line 38 of file Atomic.h.

38 { impl_ = desired; return desired; }

◆ store()

template<typename T>
void OpenDDS::DCPS::Atomic< T >::store ( desired) const
inline

Definition at line 34 of file Atomic.h.

34 { impl_ = desired; }

Member Data Documentation

◆ impl_

template<typename T>
Base OpenDDS::DCPS::Atomic< T >::impl_
private

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