Cern
LibTmsApi 2.3.0
BQueue< T > Class Template Reference

Queue class. More...

#include <BQueue.h>

Inheritance diagram for BQueue< T >:
BList< T >

Public Member Functions

 BQueue (BUInt size)
 
 ~BQueue ()
 
void clear ()
 Clear the queue.
 
BUInt writeAvailable () const
 
BError write (const T &v, BTimeout timeout=BTimeoutForever)
 Append an item onto the queue.
 
BUInt readAvailable () const
 
BError read (T &v, BTimeout timeout=BTimeoutForever)
 Get an item from the queue.
 

Private Attributes

BMutex olock
 
BUInt osize
 
BCondInt onumber
 
- Private Attributes inherited from BList< T >
Nodeonodes
 
unsigned int olength
 

Additional Inherited Members

- Private Types inherited from BList< T >
typedef int(* SortFunc) (T &a, T &b)
 Prototype for sorting function.
 
- Private Member Functions inherited from BList< T >
 BList ()
 
 BList (const BList< T > &l)
 
virtual ~BList ()
 
void start (BIter &i) const
 Iterator to start of list.
 
BIter begin () const
 Iterator for start of list.
 
BIter end () const
 Iterator for end of list.
 
BIter end (BIter &i) const
 Iterator for end of list.
 
void next (BIter &i) const
 Iterator for next item in list.
 
void prev (BIter &i)
 Iterator for previous item in list.
 
BIter goTo (int pos) const
 Iterator for pos item in list.
 
int position (BIter i)
 Postition in list item with iterator i.
 
unsigned int number () const
 Number of items in list.
 
unsigned int size () const
 Number of items in list.
 
int isEnd (BIter &i) const
 True if iterator refers to last item.
 
T & front ()
 Get first item in list.
 
T & rear ()
 Get last item in list.
 
T & get (BIter i)
 Get item specified by iterator in list.
 
const T & get (BIter i) const
 Get item specified by iterator in list.
 
void append (const T &item)
 Append item to list.
 
virtual void insert (BIter &i, const T &item)
 Insert item before item.
 
void insertAfter (BIter &i, const T &item)
 Insert item after item.
 
virtual void clear ()
 Clear the list.
 
virtual void del (BIter &i)
 Delete specified item.
 
void deleteLast ()
 Delete last item.
 
void deleteFirst ()
 Delete fisrt item.
 
void push (const T &i)
 Push item onto list.
 
pop ()
 Pop item from list deleteing item.
 
void queueAdd (const T &i)
 Add item to end of list.
 
queueGet ()
 Get item from front of list deleteing item.
 
void append (const BList< T > &l)
 Append list to list.
 
int has (const T &i) const
 Checks if the item is in the list.
 
void swap (BIter i1, BIter i2)
 Swap two items in list.
 
void sort ()
 Sort list based on get(i) values.
 
void sort (SortFunc func)
 Sort list based on Sort func.
 
BList< T > & operator= (const BList< T > &l)
 
T & operator[] (int i)
 
const T & operator[] (int i) const
 
T & operator[] (BIter i)
 
const T & operator[] (const BIter &i) const
 
BList< T > operator+ (const BList< T > &l) const
 
virtual NodenodeGet (BIter i)
 
virtual const NodenodeGet (BIter i) const
 
virtual NodenodeCreate (const T &item)
 

Detailed Description

template<class T>
class BQueue< T >

Queue class.

Constructor & Destructor Documentation

◆ BQueue()

template<class T >
BQueue< T >::BQueue ( BUInt  size)

◆ ~BQueue()

template<class T >
BQueue< T >::~BQueue

Member Function Documentation

◆ clear()

template<class T >
void BQueue< T >::clear
virtual

Clear the queue.

Reimplemented from BList< T >.

◆ read()

template<class T >
BError BQueue< T >::read ( T &  v,
BTimeout  timeout = BTimeoutForever 
)

Get an item from the queue.

◆ readAvailable()

template<class T >
BUInt BQueue< T >::readAvailable

◆ write()

template<class T >
BError BQueue< T >::write ( const T &  v,
BTimeout  timeout = BTimeoutForever 
)

Append an item onto the queue.

◆ writeAvailable()

template<class T >
BUInt BQueue< T >::writeAvailable

Member Data Documentation

◆ olock

template<class T >
BMutex BQueue< T >::olock
private

◆ onumber

template<class T >
BCondInt BQueue< T >::onumber
private

◆ osize

template<class T >
BUInt BQueue< T >::osize
private

The documentation for this class was generated from the following file:
  • /src/cern/tms/tms/beam/libBeam/BQueue.h