Shadowrun: Awakened 29 September 2011 - Build 871
Public Member Functions | Public Attributes
cat::FIFO::Ptr< T > Class Template Reference

#include <LocklessFIFO.hpp>

List of all members.

Public Member Functions

bool operator!= (const Ptr< T > &rhs)
bool operator== (const Ptr< T > &rhs)
 Ptr ()

Public Attributes

union {
   struct {
      Node< T > *   ptr
      u32   tag
   } 
   volatile u64   N
CAT_PACKED

Detailed Description

template<class T>
class cat::FIFO::Ptr< T >

Definition at line 60 of file LocklessFIFO.hpp.


Constructor & Destructor Documentation

template<class T >
cat::FIFO::Ptr< T >::Ptr ( )

Definition at line 141 of file LocklessFIFO.hpp.

References N.

    {
#if defined(CAT_WORD_64)
        N[0] = 0;
        N[1] = 0;
#else
        N = 0;
#endif
    }

Member Function Documentation

template<class T >
bool cat::FIFO::Ptr< T >::operator!= ( const Ptr< T > &  rhs)

Definition at line 162 of file LocklessFIFO.hpp.

References cat::FIFO::Ptr< T >::N, and N.

    {
#if defined(CAT_WORD_64)
        return N[0] != n.N[0] || N[1] != n.N[1];
#else
        return N != n.N;
#endif
    }
template<class T >
bool cat::FIFO::Ptr< T >::operator== ( const Ptr< T > &  rhs)

Definition at line 152 of file LocklessFIFO.hpp.

References cat::FIFO::Ptr< T >::N, and N.

    {
#if defined(CAT_WORD_64)
        return N[0] == n.N[0] && N[1] == n.N[1];
#else
        return N == n.N;
#endif
    }

Member Data Documentation

union { ... } cat::FIFO::Ptr< T >::CAT_PACKED
template<class T>
volatile u64 cat::FIFO::Ptr< T >::N
template<class T>
Node<T>* cat::FIFO::Ptr< T >::ptr
template<class T>
u32 cat::FIFO::Ptr< T >::tag

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

Copyright © 2007-2010 by The Shadowrun: Awakened Team. This work is licensed under the GNU Lesser General Public License 3.

GNU Lesser General Public License 3 Sourceforge.net