TAO_CosNaming
2.1.6
|
Implement a simple unordered set of <T> of unbounded size. More...
#include <Naming_Service_Container.h>
Public Types | |
typedef ACE_Unbounded_List_Iterator< T > | ITERATOR |
typedef ACE_Unbounded_List_Iterator< T > | iterator |
Public Member Functions | |
ACE_Unbounded_List (ACE_Allocator *alloc=0) | |
ACE_Unbounded_List (const ACE_Unbounded_List< T > &) | |
Copy constructor. | |
void | operator= (const ACE_Unbounded_List< T > &) |
Assignment operator. | |
~ACE_Unbounded_List (void) | |
Destructor. | |
int | is_empty (void) const |
Returns 1 if the container is empty, otherwise returns 0. | |
int | is_full (void) const |
Returns 1 if the container is full, otherwise returns 0. | |
int | insert (const T &new_item) |
int | remove (const T &item) |
size_t | size (void) const |
Size of the set. | |
void | dump (void) const |
Dump the state of an object. | |
void | reset (void) |
Reset the <ACE_Unbounded_List> to be empty. | |
ACE_Unbounded_List_Iterator< T > | begin (void) |
ACE_Unbounded_List_Iterator< T > | end (void) |
Public Attributes | |
ACE_ALLOC_HOOK_DECLARE | |
Declare the dynamic allocation hooks. |
Private Member Functions | |
int | insert_tail (const T &item) |
void | delete_nodes (void) |
Delete all the nodes in the List. | |
void | copy_nodes (const ACE_Unbounded_List< T > &) |
Copy nodes into this set. |
Private Attributes | |
ACE_NS_Node< T > * | head_ |
Head of the linked list of NS_Nodes. | |
size_t | cur_size_ |
Current size of the set. | |
ACE_Allocator * | allocator_ |
Allocation strategy of the set. |
Friends | |
class | ACE_Unbounded_List_Iterator< T > |
Implement a simple unordered set of <T> of unbounded size.
This implementation of an unordered set uses a circular linked list with a dummy node. This implementation does not allow duplicates, but it maintains FIFO ordering of insertions.
typedef ACE_Unbounded_List_Iterator<T> ACE_Unbounded_List< T >::ITERATOR |
typedef ACE_Unbounded_List_Iterator<T> ACE_Unbounded_List< T >::iterator |
ACE_Unbounded_List< T >::ACE_Unbounded_List | ( | ACE_Allocator * | alloc = 0 | ) |
Constructor. Use user specified allocation strategy if specified.
ACE_Unbounded_List< T >::ACE_Unbounded_List | ( | const ACE_Unbounded_List< T > & | us | ) |
Copy constructor.
ACE_Unbounded_List< T >::~ACE_Unbounded_List | ( | void | ) |
Destructor.
ACE_Unbounded_List_Iterator< T > ACE_Unbounded_List< T >::begin | ( | void | ) |
|
private |
Copy nodes into this set.
|
private |
Delete all the nodes in the List.
void ACE_Unbounded_List< T >::dump | ( | void | ) | const |
Dump the state of an object.
ACE_Unbounded_List_Iterator< T > ACE_Unbounded_List< T >::end | ( | void | ) |
int ACE_Unbounded_List< T >::insert | ( | const T & | new_item | ) |
Insert <new_item> into the set (doesn't allow duplicates). Returns -1 if failures occur, 1 if item is already present, else 0.
|
private |
Insert at the tail of the set (doesn't check for duplicates).
int ACE_Unbounded_List< T >::is_empty | ( | void | ) | const |
Returns 1 if the container is empty, otherwise returns 0.
int ACE_Unbounded_List< T >::is_full | ( | void | ) | const |
Returns 1 if the container is full, otherwise returns 0.
void ACE_Unbounded_List< T >::operator= | ( | const ACE_Unbounded_List< T > & | us | ) |
Assignment operator.
int ACE_Unbounded_List< T >::remove | ( | const T & | item | ) |
Remove first occurrence of from the set. Returns 0 if it removes the item, -1 if it can't find the item, and -1 if a failure occurs.
void ACE_Unbounded_List< T >::reset | ( | void | ) |
Reset the <ACE_Unbounded_List> to be empty.
size_t ACE_Unbounded_List< T >::size | ( | void | ) | const |
Size of the set.
|
friend |
ACE_Unbounded_List< T >::ACE_ALLOC_HOOK_DECLARE |
Declare the dynamic allocation hooks.
|
private |
Allocation strategy of the set.
|
private |
Current size of the set.
|
private |
Head of the linked list of NS_Nodes.