Honeycomb  0.1
Component-Model Framework
Public Member Functions | Static Public Attributes | List of all members
honey::lockfree::List< T, Alloc_, Backoff, iterMax >::Node::Link Struct Reference

Combines node pointer and delete mark in one Cas-able integer. More...

#include <List.h>

Inheritance diagram for honey::lockfree::List< T, Alloc_, Backoff, iterMax >::Node::Link:
Inheritance graph
[legend]
Collaboration diagram for honey::lockfree::List< T, Alloc_, Backoff, iterMax >::Node::Link:
Collaboration graph
[legend]

Public Member Functions

 Link ()
 
 Link (Node *ptr, bool d=false)
 
Nodeptr () const
 
bool d () const
 
bool cas (const Link &val, const Link &old)
 
bool operator== (const Link &rhs)
 
bool operator!= (const Link &rhs)
 

Static Public Attributes

static const intptr_t d_mask = 1
 
static const intptr_t ptr_mask = ~d_mask
 

Additional Inherited Members

Detailed Description

template<class T, class Alloc_ = SmallAllocator<T>, class Backoff = Backoff, uint8 iterMax = 2>
struct honey::lockfree::List< T, Alloc_, Backoff, iterMax >::Node::Link

Combines node pointer and delete mark in one Cas-able integer.

Constructor & Destructor Documentation

template<class T , class Alloc_ = SmallAllocator<T>, class Backoff = Backoff, uint8 iterMax = 2>
honey::lockfree::List< T, Alloc_, Backoff, iterMax >::Node::Link::Link ( )
inline
template<class T , class Alloc_ = SmallAllocator<T>, class Backoff = Backoff, uint8 iterMax = 2>
honey::lockfree::List< T, Alloc_, Backoff, iterMax >::Node::Link::Link ( Node ptr,
bool  d = false 
)
inline

Member Function Documentation

template<class T , class Alloc_ = SmallAllocator<T>, class Backoff = Backoff, uint8 iterMax = 2>
bool honey::lockfree::List< T, Alloc_, Backoff, iterMax >::Node::Link::cas ( const Link val,
const Link old 
)
inline
template<class T , class Alloc_ = SmallAllocator<T>, class Backoff = Backoff, uint8 iterMax = 2>
bool honey::lockfree::List< T, Alloc_, Backoff, iterMax >::Node::Link::d ( ) const
inline
template<class T , class Alloc_ = SmallAllocator<T>, class Backoff = Backoff, uint8 iterMax = 2>
bool honey::lockfree::List< T, Alloc_, Backoff, iterMax >::Node::Link::operator!= ( const Link rhs)
inline
template<class T , class Alloc_ = SmallAllocator<T>, class Backoff = Backoff, uint8 iterMax = 2>
bool honey::lockfree::List< T, Alloc_, Backoff, iterMax >::Node::Link::operator== ( const Link rhs)
inline
template<class T , class Alloc_ = SmallAllocator<T>, class Backoff = Backoff, uint8 iterMax = 2>
Node* honey::lockfree::List< T, Alloc_, Backoff, iterMax >::Node::Link::ptr ( ) const
inline

Member Data Documentation

template<class T , class Alloc_ = SmallAllocator<T>, class Backoff = Backoff, uint8 iterMax = 2>
const intptr_t honey::lockfree::List< T, Alloc_, Backoff, iterMax >::Node::Link::d_mask = 1
static
template<class T , class Alloc_ = SmallAllocator<T>, class Backoff = Backoff, uint8 iterMax = 2>
const intptr_t honey::lockfree::List< T, Alloc_, Backoff, iterMax >::Node::Link::ptr_mask = ~d_mask
static

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