NAME
ACE_DLList - A double-linked list container class.
SYNOPSIS
#include <ace/Containers.h>
template<class T>
class ACE_DLList : public ACE_DLList_Base
{
public:
friend class ACE_DLList_Node;
friend class ACE_Double_Linked_List_Iterator<T>;
friend class ACE_DLList_Iterator<T>;
friend class ACE_DLList_Reverse_Iterator<T>;
void operator= (ACE_DLList<T> &l);
T *insert_tail (T *new_item);
T *insert_head (T *new_item);
T *delete_head (void);
T *delete_tail (void);
int get (T *&item, size_t slot = 0);
void dump (void) const;
int remove (ACE_DLList_Node *n);
ACE_DLList (ACE_Allocator *alloc = 0);
ACE_DLList (ACE_DLList<T> &l);
~ACE_DLList (void);
};
DESCRIPTION
This implementation uses ACE_Double_Linked_List to perform the logic behind this container class. It delegates all of its calls to ACE_Double_Linked_List.
Classic queue operations.
T *insert_tail (T *new_item);
Delegates to ACE_Double_Linked_List.
T *insert_head (T *new_item);
Delegates to ACE_Double_Linked_List.
T *delete_head (void);
Delegates to ACE_Double_Linked_List.
T *delete_tail (void);
Delegates to ACE_Double_Linked_List.
Additional utility methods.
int get (T *&item, size_t slot = 0);
Delegates to ACE_Double_Linked_List, but where ACE_Double_Linked_List returns the node as the item, this get returns the contents of the node in item.
void dump (void) const;
Delegates to ACE_Double_Linked_List.
int remove (ACE_DLList_Node *n);
Delegates to ACE_Double_Linked_List.
Initialization and termination methods.
ACE_DLList (ACE_Allocator *alloc = 0);
Delegates to ACE_Double_Linked_List.
ACE_DLList (ACE_DLList<T> &l);
Delegates to ACE_Double_Linked_List.
~ACE_DLList (void);
Deletes the list starting from the head.
AUTHOR
Doug Schmidt
Initialization and termination methods.
Check boundary conditions.
Classic unordered set operations.
LIBRARY
ace