Public Types | |
| typedef queue< T >::value_type | value_type | 
| The type of datum stored in the queue.  | |
| typedef queue< T >::size_type | size_type | 
| The type used to represent the size of the queue.  | |
Public Methods | |
| TQueue () | |
| Constructor.  | |
| bool | empty () const | 
| Returns true if the queue is empty.  | |
| size_type | size () const | 
| Returns the number of items in the queue.  | |
| value_type & | front () | 
| Returns the item at the head of the queue (least recently pushed).  | |
| const value_type & | front () const | 
| Returns the item at the head of the queue (least recently pushed).  | |
| value_type & | back () | 
| Returns the item at the tail of the queue (most recently pushed).  | |
| const value_type & | back () const | 
| Returns the item at the tail of the queue (most recently pushed).  | |
| bool | push (const value_type &v) | 
| Adds an item to the back of the queue.  | |
| void | pop () | 
| Removes an item from the front of the queue.  | |
| T | get () | 
| Returns and removes an item from the front of the queue.  | |
| bool | wait (T &out, bool *pending=0) | 
| Waits for the queue to become non-empty, then atomically retrieves an item from the queue, sets out, and returns true; or returns false if the queue has been closed.  | |
| void | waiter_pending () | 
| void | close () | 
| Closes the queue so all pending and future calls to wait() will return immediately.  | |
| void | starve () | 
| Starves one waiter, causing its "wait" to return false.  | |
| bool | is_closed () | 
| Is the queue closed?  | |
| unsigned int | count_waiters () | 
| Returns the number of waiters on the Thread.  | |
| int | extra_capacity () | 
| Returns the number of threads currently waiting on the queue (or zero if none) minus the number of elements waiting in the queue.  | |
      
  | 
  |||||
| 
 The type used to represent the size of the queue. 
  | 
  
      
  | 
  |||||
| 
 The type of datum stored in the queue. 
  | 
  
      
  | 
  |||||||||
| 
 Constructor. 
  | 
  
      
  | 
  |||||||||
| 
 Returns the item at the tail of the queue (most recently pushed). 
  | 
  
      
  | 
  |||||||||
| 
 Returns the item at the tail of the queue (most recently pushed). 
  | 
  
      
  | 
  |||||||||
| 
 Closes the queue so all pending and future calls to wait() will return immediately. 
  | 
  
      
  | 
  |||||||||
| 
 Returns the number of waiters on the Thread. 
  | 
  
      
  | 
  |||||||||
| 
 Returns true if the queue is empty. 
  | 
  
      
  | 
  |||||||||
| 
 Returns the number of threads currently waiting on the queue (or zero if none) minus the number of elements waiting in the queue. Returns a positive number if there is an "overflow" of waiters, and a negative number if there is an "underflow" of waiters.  | 
  
      
  | 
  |||||||||
| 
 Returns the item at the head of the queue (least recently pushed). 
  | 
  
      
  | 
  |||||||||
| 
 Returns the item at the head of the queue (least recently pushed). 
  | 
  
      
  | 
  |||||||||
| 
 Returns and removes an item from the front of the queue. 
  | 
  
      
  | 
  |||||||||
| 
 Is the queue closed? 
  | 
  
      
  | 
  |||||||||
| 
 Removes an item from the front of the queue. 
  | 
  
      
  | 
  ||||||||||
| 
 Adds an item to the back of the queue. Returns true if the item will be immediately dispatched.  | 
  
      
  | 
  |||||||||
| 
 Returns the number of items in the queue. 
  | 
  
      
  | 
  |||||||||
| 
 Starves one waiter, causing its "wait" to return false. 
  | 
  
      
  | 
  ||||||||||||||||
| 
 Waits for the queue to become non-empty, then atomically retrieves an item from the queue, sets out, and returns true; or returns false if the queue has been closed. 
  | 
  
      
  | 
  |||||||||
| 
 
  |