Orocos Real-Time Toolkit  2.9.0
Public Member Functions | List of all members
RTT::os::AtomicInt Class Reference

C++ abstraction of atomic integer operations. More...

#include <rtt/os/Atomic.hpp>

Public Member Functions

 AtomicInt (int value=0)
 
 AtomicInt (const AtomicInt &orig)
 
 ~AtomicInt ()
 
const AtomicIntoperator= (const AtomicInt &orig)
 
int read () const
 Read the current value of the integer. More...
 
void set (int i)
 Set the integer to a new value. More...
 
void add (int i)
 
void sub (int i)
 
bool sub_and_test (int i)
 Subtract a value and test if the result is zero. More...
 
void inc ()
 
void dec ()
 
bool dec_and_test ()
 Decrement and test if the result is zero. More...
 
bool inc_and_test ()
 Increment and test if the result is zero. More...
 

Detailed Description

C++ abstraction of atomic integer operations.

Definition at line 49 of file Atomic.hpp.

Constructor & Destructor Documentation

RTT::os::AtomicInt::AtomicInt ( int  value = 0)
inline

Definition at line 53 of file Atomic.hpp.

References ORO_ATOMIC_SETUP().

RTT::os::AtomicInt::AtomicInt ( const AtomicInt orig)
inline

Definition at line 58 of file Atomic.hpp.

References oro_atomic_read(), and ORO_ATOMIC_SETUP().

RTT::os::AtomicInt::~AtomicInt ( )
inline

Definition at line 63 of file Atomic.hpp.

References ORO_ATOMIC_CLEANUP().

Member Function Documentation

void RTT::os::AtomicInt::add ( int  i)
inline

Definition at line 84 of file Atomic.hpp.

References oro_atomic_add().

Referenced by RTT::base::BufferLockFree< T >::Push().

void RTT::os::AtomicInt::dec ( )
inline

Definition at line 97 of file Atomic.hpp.

References oro_atomic_dec().

Referenced by RTT::mqueue::Dispatcher::removeQueue().

bool RTT::os::AtomicInt::dec_and_test ( )
inline

Decrement and test if the result is zero.

Returns
true if the atomic is zero after the decrement, and false otherwise

Definition at line 104 of file Atomic.hpp.

References oro_atomic_dec_and_test().

Referenced by RTT::internal::ConnectionBase::deref(), RTT::base::DataSourceBase::deref(), and RTT::mqueue::intrusive_ptr_release().

void RTT::os::AtomicInt::inc ( )
inline
bool RTT::os::AtomicInt::inc_and_test ( )
inline

Increment and test if the result is zero.

Returns
true if the atomic is zero after the increment, and false otherwise

Definition at line 111 of file Atomic.hpp.

References oro_atomic_inc_and_test().

const AtomicInt& RTT::os::AtomicInt::operator= ( const AtomicInt orig)
inline

Definition at line 68 of file Atomic.hpp.

References oro_atomic_read(), and oro_atomic_set().

int RTT::os::AtomicInt::read ( ) const
inline

Read the current value of the integer.

Definition at line 77 of file Atomic.hpp.

References oro_atomic_read().

Referenced by RTT::base::BufferLockFree< T >::dropped(), and RTT::os::ThreadInterface::ThreadInterface().

void RTT::os::AtomicInt::set ( int  i)
inline

Set the integer to a new value.

Definition at line 82 of file Atomic.hpp.

References oro_atomic_set().

void RTT::os::AtomicInt::sub ( int  i)
inline

Definition at line 86 of file Atomic.hpp.

References oro_atomic_sub().

bool RTT::os::AtomicInt::sub_and_test ( int  i)
inline

Subtract a value and test if the result is zero.

Returns
true if the atomic is zero after the decrement, and false otherwise

Definition at line 93 of file Atomic.hpp.

References oro_atomic_sub_and_test().


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