| ACE
    6.3.3
    | 
Implement a simple unordered set of <T> of unbounded size. More...
#include <Unbounded_Set_Ex.h>

| Public Types | |
| typedef ACE_Unbounded_Set_Ex_Iterator< T, C > | ITERATOR | 
| typedef ACE_Unbounded_Set_Ex_Iterator< T, C > | iterator | 
| typedef ACE_Unbounded_Set_Ex_Const_Iterator< T, C > | CONST_ITERATOR | 
| typedef ACE_Unbounded_Set_Ex_Const_Iterator< T, C > | const_iterator | 
| typedef C | COMP | 
| typedef ACE_Node< T, C > | NODE | 
| typedef T | value_type | 
| typedef T const | const_value_type | 
| typedef value_type & | reference | 
| typedef const_value_type & | const_reference | 
| typedef value_type * | pointer | 
| typedef const_value_type * | const_pointer | 
| typedef ptrdiff_t | difference_type | 
| Public Member Functions | |
| ACE_Unbounded_Set_Ex (ACE_Allocator *alloc=0) | |
| ACE_Unbounded_Set_Ex (const C &comparator, ACE_Allocator *alloc=0) | |
| ACE_Unbounded_Set_Ex (const ACE_Unbounded_Set_Ex< T, C > &) | |
| Copy constructor.  More... | |
| ACE_Unbounded_Set_Ex< T, C > & | operator= (const ACE_Unbounded_Set_Ex< T, C > &) | 
| Assignment operator.  More... | |
| ~ACE_Unbounded_Set_Ex (void) | |
| Destructor.  More... | |
| bool | is_empty (void) const | 
| Returns trueif the container is empty, otherwise returnsfalse.  More... | |
| bool | is_full (void) const | 
| Returns false.  More... | |
| int | insert (const T &new_item) | 
| Linear insertion of an item.  More... | |
| int | insert_tail (const T &item) | 
| int | remove (const T &item) | 
| Linear remove operation.  More... | |
| int | find (const T &item) const | 
| size_t | size (void) const | 
| Size of the set.  More... | |
| void | dump (void) const | 
| Dump the state of an object.  More... | |
| void | reset (void) | 
| Reset the ACE_Unbounded_Set_Ex to be empty.  More... | |
| iterator | begin (void) | 
| iterator | end (void) | 
| const_iterator | begin (void) const | 
| const_iterator | end (void) const | 
| Public Attributes | |
| ACE_ALLOC_HOOK_DECLARE | |
| Declare the dynamic allocation hooks.  More... | |
| Private Member Functions | |
| void | delete_nodes (void) | 
| Delete all the nodes in the Set.  More... | |
| void | copy_nodes (const ACE_Unbounded_Set_Ex< T, C > &) | 
| Copy nodes into this set.  More... | |
| Private Attributes | |
| NODE * | head_ | 
| Head of the linked list of Nodes.  More... | |
| size_t | cur_size_ | 
| Current size of the set.  More... | |
| ACE_Allocator * | allocator_ | 
| Allocation strategy of the set.  More... | |
| COMP | comp_ | 
| Comparator to be used.  More... | |
| Friends | |
| class | ACE_Unbounded_Set_Ex_Iterator< T, C > | 
| class | ACE_Unbounded_Set_Ex_Const_Iterator< T, C > | 
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.
This implementation may also be parameterized with a comparator functor, which must implement bool operator () (const T&, const T&) const, returning true if the given items are equivalent. The default comparator is sufficient for objects reliably compared with operator==.
Requirements and Performance Characteristics
| typedef C ACE_Unbounded_Set_Ex< T, C >::COMP | 
| typedef ACE_Unbounded_Set_Ex_Const_Iterator<T, C> ACE_Unbounded_Set_Ex< T, C >::CONST_ITERATOR | 
| typedef ACE_Unbounded_Set_Ex_Const_Iterator<T, C> ACE_Unbounded_Set_Ex< T, C >::const_iterator | 
| typedef const_value_type* ACE_Unbounded_Set_Ex< T, C >::const_pointer | 
| typedef const_value_type& ACE_Unbounded_Set_Ex< T, C >::const_reference | 
| typedef T const ACE_Unbounded_Set_Ex< T, C >::const_value_type | 
| typedef ptrdiff_t ACE_Unbounded_Set_Ex< T, C >::difference_type | 
| typedef ACE_Unbounded_Set_Ex_Iterator<T, C> ACE_Unbounded_Set_Ex< T, C >::ITERATOR | 
| typedef ACE_Unbounded_Set_Ex_Iterator<T, C> ACE_Unbounded_Set_Ex< T, C >::iterator | 
| typedef ACE_Node<T, C> ACE_Unbounded_Set_Ex< T, C >::NODE | 
| typedef value_type* ACE_Unbounded_Set_Ex< T, C >::pointer | 
| typedef value_type& ACE_Unbounded_Set_Ex< T, C >::reference | 
| typedef T ACE_Unbounded_Set_Ex< T, C >::value_type | 
| ACE_Unbounded_Set_Ex< T, C >::ACE_Unbounded_Set_Ex | ( | ACE_Allocator * | alloc = 0 | ) | 
Constructor. Use user specified allocation strategy if specified. Initialize an empty set using the allocation strategy of the user if provided.
| ACE_Unbounded_Set_Ex< T, C >::ACE_Unbounded_Set_Ex | ( | const C & | comparator, | 
| ACE_Allocator * | alloc = 0 | ||
| ) | 
Initialize an empty set using the allocation strategy of the user if provided, and a given comparator functor.
| ACE_Unbounded_Set_Ex< T, C >::ACE_Unbounded_Set_Ex | ( | const ACE_Unbounded_Set_Ex< T, C > & | us | ) | 
Copy constructor.
Initialize this set to be an exact copy of the set provided.
| ACE_Unbounded_Set_Ex< T, C >::~ACE_Unbounded_Set_Ex | ( | void | ) | 
Destructor.
Destroy the nodes of the set.
| ACE_Unbounded_Set_Ex< T, C >::iterator ACE_Unbounded_Set_Ex< T, C >::begin | ( | void | ) | 
| ACE_Unbounded_Set_Ex< T, C >::const_iterator ACE_Unbounded_Set_Ex< T, C >::begin | ( | void | ) | const | 
| 
 | private | 
Copy nodes into this set.
| 
 | private | 
Delete all the nodes in the Set.
| void ACE_Unbounded_Set_Ex< T, C >::dump | ( | void | ) | const | 
Dump the state of an object.
| ACE_Unbounded_Set_Ex< T, C >::iterator ACE_Unbounded_Set_Ex< T, C >::end | ( | void | ) | 
| ACE_Unbounded_Set_Ex< T, C >::const_iterator ACE_Unbounded_Set_Ex< T, C >::end | ( | void | ) | const | 
| int ACE_Unbounded_Set_Ex< T, C >::find | ( | const T & | item | ) | const | 
Finds if item occurs in the set. Returns 0 if find succeeds, else -1. Performs a linear find operation.
| int ACE_Unbounded_Set_Ex< T, C >::insert | ( | const T & | new_item | ) | 
Linear insertion of an item.
Insert new_item into the set (doesn't allow duplicates). Returns -1 if failures occur, 1 if item is already present, else 0.
| int ACE_Unbounded_Set_Ex< T, C >::insert_tail | ( | const T & | item | ) | 
Insert item at the tail of the set (doesn't check for duplicates). Constant time insert at the end of the set.
| 
 | inline | 
Returns true if the container is empty, otherwise returns false. 
Constant time is_empty check.
| 
 | inline | 
Returns false. 
Always returns false since the set can never fill up. 
| ACE_Unbounded_Set_Ex< T, C > & ACE_Unbounded_Set_Ex< T, C >::operator= | ( | const ACE_Unbounded_Set_Ex< T, C > & | us | ) | 
Assignment operator.
Perform a deep copy of the rhs into the lhs.
| int ACE_Unbounded_Set_Ex< T, C >::remove | ( | const T & | item | ) | 
Linear remove operation.
Remove first occurrence of item 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_Set_Ex< T, C >::reset | ( | void | ) | 
Reset the ACE_Unbounded_Set_Ex to be empty.
Delete the nodes of the set.
| size_t ACE_Unbounded_Set_Ex< T, C >::size | ( | void | ) | const | 
Size of the set.
Access the size of the set.
| 
 | friend | 
| 
 | friend | 
| ACE_Unbounded_Set_Ex< T, C >::ACE_ALLOC_HOOK_DECLARE | 
Declare the dynamic allocation hooks.
| 
 | private | 
Allocation strategy of the set.
| 
 | private | 
Comparator to be used.
| 
 | private | 
Current size of the set.
| 
 | private | 
Head of the linked list of Nodes.
 1.8.9.1
 1.8.9.1