CMS 3D CMS Logo

List of all members | Private Member Functions | Private Attributes | Friends
cmsutils::_bqueue_item< T > Class Template Reference

#include <bqueue.h>

Private Member Functions

 _bqueue_item ()
 
 _bqueue_item (boost::intrusive_ptr< _bqueue_item< T > > tail, const T &val)
 
 _bqueue_item (boost::intrusive_ptr< _bqueue_item< T > > tail, T &&val)
 
template<typename... Args>
 _bqueue_item (boost::intrusive_ptr< _bqueue_item< T > > tail, Args &&...args)
 
void addRef ()
 
void delRef ()
 

Private Attributes

boost::intrusive_ptr< _bqueue_item< T > > back
 
unsigned int refCount
 
T const value
 

Friends

class _bqueue_itr< T >
 
class bqueue< T >
 
void intrusive_ptr_add_ref (_bqueue_item< T > *it)
 
void intrusive_ptr_release (_bqueue_item< T > *it)
 

Detailed Description

template<class T>
class cmsutils::_bqueue_item< T >

Definition at line 40 of file bqueue.h.

Constructor & Destructor Documentation

template<class T>
cmsutils::_bqueue_item< T >::_bqueue_item ( )
inlineprivate

Definition at line 53 of file bqueue.h.

53 : back(0), value(), refCount(0) { }
unsigned int refCount
Definition: bqueue.h:64
boost::intrusive_ptr< _bqueue_item< T > > back
Definition: bqueue.h:62
template<class T>
cmsutils::_bqueue_item< T >::_bqueue_item ( boost::intrusive_ptr< _bqueue_item< T > >  tail,
const T val 
)
inlineprivate

Definition at line 54 of file bqueue.h.

54 : back(tail), value(val), refCount(0) { }
unsigned int refCount
Definition: bqueue.h:64
boost::intrusive_ptr< _bqueue_item< T > > back
Definition: bqueue.h:62
template<class T>
cmsutils::_bqueue_item< T >::_bqueue_item ( boost::intrusive_ptr< _bqueue_item< T > >  tail,
T &&  val 
)
inlineprivate

Definition at line 56 of file bqueue.h.

56  :
57  back(tail), value(std::move(val)), refCount(0) { }
unsigned int refCount
Definition: bqueue.h:64
boost::intrusive_ptr< _bqueue_item< T > > back
Definition: bqueue.h:62
def move(src, dest)
Definition: eostools.py:510
template<class T>
template<typename... Args>
cmsutils::_bqueue_item< T >::_bqueue_item ( boost::intrusive_ptr< _bqueue_item< T > >  tail,
Args &&...  args 
)
inlineprivate

Definition at line 60 of file bqueue.h.

60  :
61  back(tail), value(std::forward<Args>(args)...), refCount(0) { }
unsigned int refCount
Definition: bqueue.h:64
boost::intrusive_ptr< _bqueue_item< T > > back
Definition: bqueue.h:62

Member Function Documentation

template<class T>
void cmsutils::_bqueue_item< T >::addRef ( )
inlineprivate

Definition at line 50 of file bqueue.h.

References cmsutils::_bqueue_item< T >::refCount.

Referenced by cmsutils::intrusive_ptr_add_ref().

50 { ++refCount; }
unsigned int refCount
Definition: bqueue.h:64
template<class T>
void cmsutils::_bqueue_item< T >::delRef ( )
inlineprivate

Definition at line 51 of file bqueue.h.

References cmsutils::_bqueue_item< T >::refCount.

Referenced by cmsutils::intrusive_ptr_release().

51 { if ((--refCount) == 0) delete this; }
unsigned int refCount
Definition: bqueue.h:64

Friends And Related Function Documentation

template<class T>
friend class _bqueue_itr< T >
friend

Definition at line 47 of file bqueue.h.

template<class T>
friend class bqueue< T >
friend

Definition at line 46 of file bqueue.h.

template<class T>
void intrusive_ptr_add_ref ( _bqueue_item< T > *  it)
friend

Definition at line 67 of file bqueue.h.

67 { it->addRef(); }
template<class T>
void intrusive_ptr_release ( _bqueue_item< T > *  it)
friend

Definition at line 68 of file bqueue.h.

68 { it->delRef(); }

Member Data Documentation

template<class T>
boost::intrusive_ptr< _bqueue_item<T> > cmsutils::_bqueue_item< T >::back
private

Definition at line 62 of file bqueue.h.

template<class T>
unsigned int cmsutils::_bqueue_item< T >::refCount
private
template<class T>
T const cmsutils::_bqueue_item< T >::value
private