pion-net  4.0.7
Public Types | Public Member Functions | Static Public Attributes | Protected Attributes
boost::lockfree::tagged_ptr Class Reference

List of all members.

Public Types

typedef std::size_t tag_t

Public Member Functions

 tagged_ptr (void)
 tagged_ptr (tagged_ptr const &p)
 tagged_ptr (T *p, tag_t t=0)
void operator= (tagged_ptr const &p)
void atomic_set (tagged_ptr const &p)
void atomic_set (T *p, tag_t t)
void set (tagged_ptr const &p)
void set (T *p, tag_t t)
bool operator== (tagged_ptr const &p) const
bool operator!= (tagged_ptr const &p) const
T * get_ptr () const
void set_ptr (T *p)
tag_t get_tag () const
void set_tag (tag_t t)
bool cas (tagged_ptr const &oldval, T *newptr)
bool cas (tagged_ptr const &oldval, T *newptr, tag_t t)
T & operator* () const
T * operator-> () const
 operator bool (void) const

Static Public Attributes

static const bool is_lockfree = boost::lockfree::atomic_cas<tagged_ptr>::is_lockfree

Protected Attributes

T * ptr
tag_t tag

Constructor & Destructor Documentation

boost::lockfree::tagged_ptr::tagged_ptr ( void  ) [inline]

uninitialized constructor

Definition at line 33 of file tagged_ptr_dcas.hpp.

boost::lockfree::tagged_ptr::tagged_ptr ( tagged_ptr const &  p) [inline]

copy constructor

Definition at line 37 of file tagged_ptr_dcas.hpp.


Member Function Documentation

bool boost::lockfree::tagged_ptr::cas ( tagged_ptr const &  oldval,
T *  newptr 
) [inline]

compare and swap

Definition at line 133 of file tagged_ptr_dcas.hpp.

Referenced by pion::PionLockFreeQueue::push(), and pion::PionLockFreeQueue::pop().

T* boost::lockfree::tagged_ptr::get_ptr ( ) const [inline]
tag_t boost::lockfree::tagged_ptr::get_tag ( ) const [inline]

tag access

Definition at line 120 of file tagged_ptr_dcas.hpp.

T& boost::lockfree::tagged_ptr::operator* ( ) const [inline]

smart pointer support

Definition at line 147 of file tagged_ptr_dcas.hpp.

void boost::lockfree::tagged_ptr::operator= ( tagged_ptr const &  p) [inline]

atomic set operations

Definition at line 48 of file tagged_ptr_dcas.hpp.

bool boost::lockfree::tagged_ptr::operator== ( tagged_ptr const &  p) const [inline]

comparing semantics

Definition at line 94 of file tagged_ptr_dcas.hpp.

void boost::lockfree::tagged_ptr::set ( tagged_ptr const &  p) [inline]

unsafe set operation

Definition at line 79 of file tagged_ptr_dcas.hpp.


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