CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
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 43 of file bqueue.h.

Constructor & Destructor Documentation

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

Definition at line 62 of file bqueue.h.

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

Definition at line 63 of file bqueue.h.

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

Definition at line 65 of file bqueue.h.

66  : back(tail), value(std::move(val)), refCount(0) {}
def move
Definition: eostools.py:511
unsigned int refCount
Definition: bqueue.h:73
boost::intrusive_ptr< _bqueue_item< T > > back
Definition: bqueue.h:71
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 69 of file bqueue.h.

70  : back(tail), value(std::forward<Args>(args)...), refCount(0) {}
unsigned int refCount
Definition: bqueue.h:73
boost::intrusive_ptr< _bqueue_item< T > > back
Definition: bqueue.h:71

Member Function Documentation

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

Definition at line 55 of file bqueue.h.

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

Referenced by cmsutils::intrusive_ptr_add_ref().

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

Definition at line 56 of file bqueue.h.

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

Referenced by cmsutils::intrusive_ptr_release().

56  {
57  if ((--refCount) == 0)
58  delete this;
59  }
unsigned int refCount
Definition: bqueue.h:73

Friends And Related Function Documentation

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

Definition at line 52 of file bqueue.h.

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

Definition at line 51 of file bqueue.h.

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

Member Data Documentation

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

Definition at line 71 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