STL compatible iterator base class. More...
Public Member Functions | |
uint_t | IsEnd (void) const noexcept |
Is the iterator at the end of the array? | |
const Entry * | GetPtr (void) const noexcept |
Get the Entry pointer. | |
const Entry & | operator* () const noexcept |
Get the Entry reference. | |
const Entry * | operator-> () const noexcept |
Get the Entry pointer. | |
void | operator++ () noexcept |
Increment the iterator to the next valid entry. | |
uint_t | operator== (const const_iterator &it) const noexcept |
Test for equality between iterators. | |
uint_t | operator!= (const const_iterator &it) const noexcept |
Test for inequality between iterators. | |
Protected Member Functions | |
const_iterator (const HashMapShared *pParent, uintptr_t uIndex) noexcept | |
Base class constructor. | |
Protected Attributes | |
const HashMapShared * | m_pParent |
Pointer to the parent class instance. | |
uintptr_t | m_uIndex |
Last accessed index. | |
STL compatible iterator base class.
This class is the base class for iteration over a hash table using standard STL algorithms. It's not meant to be used by applications. A HashMap will derive from this class to inherit the common functionality and then provide access to the specialized key and data pairs.
|
inlineprotectednoexcept |
Base class constructor.
This class is initialized with a pointer to the parent class and an index to start iteration. If uIndex is set to INVALID_INDEX, it's assumed to be an HashMap::end() marker.
pParent | Pointer to the parent class |
uIndex | Index to start iteration from (Must an index to a valid entry or INVALID_INDEX) |
|
inlinenoexcept |
|
inlinenoexcept |
Is the iterator at the end of the array?
|
inlinenoexcept |
Test for inequality between iterators.
If two iterators point different indexes, return TRUE
it | Reference to iterator to test against this one |
|
inlinenoexcept |
Get the Entry reference.
Given an iterator that's pointing to a valid object, return a reference to the Entry. This function returns the base class which the derived HashMap will up cast to the true data type.
|
noexcept |
Increment the iterator to the next valid entry.
Step the iterator to the next valid entry in the hash table. If the end of the table is reached, the index will be set to INVALID_INDEX
|
inlinenoexcept |
Get the Entry pointer.
Given an iterator that's pointing to a valid object, return a pointer to the Entry. This function returns the base class which the derived HashMap will up cast to the true data type.
|
inlinenoexcept |
Test for equality between iterators.
If two iterators point to the same index, return TRUE
it | Reference to iterator to test against this one |
|
protected |
Pointer to the parent class instance.
|
protected |
Last accessed index.