Base Framework
|
Enumeration interface for modifying access. More...
#include <base/collection/Enumeration.h>
Inherited by AllocatorEnumerator< TRAITS >, BitSet::BitSetEnumerator, DoubleLinkedNodeEnumerator< TRAITS >, DoubleLinkedNodeReadEnumerator< TRAITS >, HashTable< KEY, VALUE >::HashTableEnumerator< TRAITS >, HashTable< KEY, VALUE >::HashTableValueEnumerator< TRAITS >, InfixOrderEnumerator< TRAITS >, PostfixOrderEnumerator< TRAITS >, PrefixOrderEnumerator< TRAITS >, and Stack< TYPE >::StackReadEnumerator< TRAITS >.
Public Types | |
typedef TRAITS::Value | Value |
typedef TRAITS::Distance | Distance |
typedef TRAITS::Reference | Reference |
typedef TRAITS::Pointer | Pointer |
Public Member Functions | |
virtual bool | hasNext () const noexcept=0 |
virtual Reference | next ()=0 |
virtual | ~Enumerator () |
Enumeration interface for modifying access.
Enumeration interface used to traverse individual elements of a collection one by one. If possible, the enumeration interface should be used in preference to the iteration interface.
typedef TRAITS::Distance Enumerator< TRAITS >::Distance |
The type of the difference between elements.
typedef TRAITS::Pointer Enumerator< TRAITS >::Pointer |
The type of a pointer to an element.
typedef TRAITS::Reference Enumerator< TRAITS >::Reference |
The type of a reference to an element.
typedef TRAITS::Value Enumerator< TRAITS >::Value |
The type of the element.
|
inlinevirtual |
Destroys the enumerator.
|
pure virtualnoexcept |
Returns true if the enumerator has more elements.
Implemented in HashTable< KEY, VALUE >::HashTableValueEnumerator< TRAITS >, HashTable< KEY, VALUE >::HashTableEnumerator< TRAITS >, DoubleLinkedNodeReadEnumerator< TRAITS >, PostfixOrderEnumerator< TRAITS >, DoubleLinkedNodeEnumerator< TRAITS >, InfixOrderEnumerator< TRAITS >, PrefixOrderEnumerator< TRAITS >, BitSet::BitSetReadEnumerator, BitSet::BitSetEnumerator, Stack< TYPE >::StackReadEnumerator< TRAITS >, and AllocatorEnumerator< TRAITS >.
|
pure virtual |
Returns the next element of the enumerator.
Implemented in HashTable< KEY, VALUE >::HashTableValueEnumerator< TRAITS >, HashTable< KEY, VALUE >::HashTableEnumerator< TRAITS >, DoubleLinkedNodeReadEnumerator< TRAITS >, PostfixOrderEnumerator< TRAITS >, DoubleLinkedNodeEnumerator< TRAITS >, InfixOrderEnumerator< TRAITS >, PrefixOrderEnumerator< TRAITS >, BitSet::BitSetReadEnumerator, BitSet::BitSetEnumerator, Map< KEY, VALUE >::ValueEnumerator, Stack< TYPE >::StackReadEnumerator< TRAITS >, Map< KEY, VALUE >::ReadEnumerator, and AllocatorEnumerator< TRAITS >.