#include <Intrusive_List.h>
Public Methods | |
| ACE_Intrusive_List (void) | |
| Constructor. Use user specified allocation strategy if specified. | |
| ~ACE_Intrusive_List (void) | |
| Destructor. | |
| int | empty (void) const |
| Returns 1 if the container is empty, otherwise returns 0. | |
| void | push_front (T *node) |
| Insert an element at the beginning of the list. | |
| void | push_back (T *node) |
| Insert an element at the end of the list. | |
| T* | pop_front (void) |
| Remove the element at the beginning of the list. | |
| T* | pop_back (void) |
| Remove the element at the end of the list. | |
| T* | head (void) const |
| Get the element at the head of the queue. | |
| T* | tail (void) const |
| Get the element at the tail of the queue. | |
| void | remove (T *node) |
| Remove a element from the list. More... | |
Private Methods | |
| void | remove_i (T *node) |
| Remove a element from the list. More... | |
Disallow copying | |
| ACE_Intrusive_List (const ACE_Intrusive_List<T> &) | |
| ACE_Intrusive_List<T>& | operator= (const ACE_Intrusive_List<T> &) |
Private Attributes | |
| T* | head_ |
| Head and tail of the list. | |
| T* | tail_ |
Intrusive lists assume that the elements they contain the pointers required to build the list. They are useful as light-weight containers and free-lists.
The template argument T must implement the following methods:
class My_Object : public ACE_Intrusive_List_Node<My_Object> {
....
};
typedef ACE_Intrusive_List<My_Object> My_Object_List;
However, ACE is supported on platforms that would surely get confused using such templates.
|
||||
|
Constructor. Use user specified allocation strategy if specified.
|
|
||||
|
Destructor.
|
|
||||
|
|
|
||||
|
Returns 1 if the container is empty, otherwise returns 0.
|
|
||||
|
Get the element at the head of the queue.
|
|
||||
|
|
|
||||
|
Remove the element at the end of the list.
|
|
||||
|
Remove the element at the beginning of the list.
|
|
||||
|
Insert an element at the end of the list.
|
|
||||
|
Insert an element at the beginning of the list.
|
|
||||
|
Remove a element from the list. Verify that the element is still in the list before removing it. |
|
||||
|
Remove a element from the list. No attempts are performed to check if T* really belongs to the list. The effects of removing an invalid element are unspecified |
|
||||
|
Get the element at the tail of the queue.
|
|
|||
|
Head and tail of the list.
|
|
|||
|
|
1.2.3 written by Dimitri van Heesch,
© 1997-2000