#include <Unbounded_Queue.h>
Inheritance diagram for ACE_Unbounded_Queue:


Public Types | |
| typedef ACE_Unbounded_Queue_Iterator< T > | ITERATOR |
| typedef ACE_Unbounded_Queue_Const_Iterator< T > | CONST_ITERATOR |
Public Methods | |
| ACE_Unbounded_Queue (ACE_Allocator *alloc=0) | |
| Initialize an empty queue using the strategy provided. More... | |
| ACE_Unbounded_Queue (const ACE_Unbounded_Queue< T > &) | |
| Initialize the queue to be a copy of the provided queue. More... | |
| void | operator= (const ACE_Unbounded_Queue< T > &) |
| Perform a deep copy of rhs. More... | |
| ~ACE_Unbounded_Queue (void) | |
| Clean up the memory for the queue. More... | |
| int | is_empty (void) const |
| Constant time check to see if the queue is empty. More... | |
| int | is_full (void) const |
| The queue cannot be full, so it always returns 0. More... | |
| int | enqueue_tail (const T &new_item) |
| Insert an item at the end of the queue. More... | |
| int | enqueue_head (const T &new_item) |
| Insert an item at the head of the queue. More... | |
| int | dequeue_head (T &item) |
| Remove an item from the head of the queue. More... | |
| void | reset (void) |
| Delete the queue nodes. More... | |
| int | get (T *&item, size_t slot=0) const |
| Find the item in the queue between 0 and the provided index of the queue. More... | |
| int | set (const T &item, size_t slot) |
| Set the <slot>th element in the set. More... | |
| size_t | size (void) const |
| Return the size of the queue. More... | |
| void | dump (void) const |
| Dump the state of an object. More... | |
| ACE_Unbounded_Queue_Iterator< T > | begin (void) |
| ACE_Unbounded_Queue_Iterator< T > | end (void) |
Public Attributes | |
| ACE_ALLOC_HOOK_DECLARE | |
| Declare the dynamic allocation hooks. More... | |
Protected Methods | |
| void | delete_nodes (void) |
| Delete all the nodes in the queue. More... | |
| void | copy_nodes (const ACE_Unbounded_Queue< T > &) |
| Copy nodes into this queue. More... | |
Protected Attributes | |
| ACE_Node< T > * | head_ |
| Pointer to the dummy node in the circular linked Queue. More... | |
| size_t | cur_size_ |
| Current size of the queue. More... | |
| ACE_Allocator * | allocator_ |
| Allocation Strategy of the queue. More... | |
Friends | |
| class | ACE_Unbounded_Queue_Iterator< T > |
| class | ACE_Unbounded_Queue_Const_Iterator< T > |
This implementation of an unbounded queue uses a circular linked list with a dummy node.
Requirements and Performance Characteristics
|
|||||
|
|
|
|||||
|
|
|
||||||||||
|
Initialize an empty queue using the strategy provided.
|
|
||||||||||
|
Initialize the queue to be a copy of the provided queue.
|
|
||||||||||
|
Clean up the memory for the queue.
|
|
||||||||||
|
|
|
||||||||||
|
Copy nodes into this queue.
|
|
||||||||||
|
Delete all the nodes in the queue.
|
|
||||||||||
|
Remove an item from the head of the queue.
|
|
||||||||||
|
Dump the state of an object.
|
|
||||||||||
|
|
|
||||||||||
|
Insert an item at the head of the queue.
|
|
||||||||||
|
Insert an item at the end of the queue.
|
|
||||||||||||||||
|
Find the item in the queue between 0 and the provided index of the queue.
|
|
||||||||||
|
Constant time check to see if the queue is empty.
|
|
||||||||||
|
The queue cannot be full, so it always returns 0.
|
|
||||||||||
|
Perform a deep copy of rhs.
|
|
||||||||||
|
Delete the queue nodes.
|
|
||||||||||||||||
|
Set the <slot>th element in the set. Will pad out the set with empty nodes if <slot> is beyond the range {0..<size> - 1}. Returns -1 on failure, 0 if <slot> isn't initially in range, and 0 otherwise. |
|
||||||||||
|
Return the size of the queue.
|
|
|||||
|
|
|
|||||
|
|
|
|||||
|
Declare the dynamic allocation hooks.
|
|
|||||
|
Allocation Strategy of the queue.
|
|
|||||
|
Current size of the queue.
|
|
|||||
|
Pointer to the dummy node in the circular linked Queue.
|
1.2.13.1 written by Dimitri van Heesch,
© 1997-2001