Classes | |
class | _bqueue_item |
class | _bqueue_itr |
class | bqueue |
Functions | |
template<class T > | |
void | intrusive_ptr_add_ref (_bqueue_item< T > *it) |
template<class T > | |
void | intrusive_ptr_release (_bqueue_item< T > *it) |
template<typename T > | |
void | swap (bqueue< T > &rh, bqueue< T > &lh) |
Backwards linked queue with "head sharing"
Author: Giovanni Petrucciani
For use in trajectory building, where we want to "fork" a trajectory candidate in two without copying around all the hits before the fork.
Supported operations (mimics a std container):
Note that boost::intrusive_ptr is used for items, so they are deleted automatically while avoiding problems if one deletes a queue which shares the head with another one
Disclaimer: I'm not sure the const_iterator is really const-correct..
|
inline |
Definition at line 55 of file bqueue.h.
References cmsutils::_bqueue_item< T >::addRef().
|
inline |
Definition at line 56 of file bqueue.h.
References cmsutils::_bqueue_item< T >::delRef().
Definition at line 185 of file bqueue.h.
References cmsutils::bqueue< T >::swap().