Templated implementation of std::iterator_traits
. Will be exposed by derived class's definitions LocalIterator and ConstLocalIterator.
As the name of the class indicates, this iterator satisfies the C++ standard library concept ForwardIterator .
TConstOrMutable | A constant or mutable version of HashTableBase::TMapped. |
Definition at line 561 of file hashtablebase.inl.
Public Methods | |
TLocalIterator () | |
TLocalIterator (const TLocalIterator &other)=default | |
TLocalIterator (const TMutable &mutableIt) | |
TLocalIterator (uinteger pBucketIdx, Element *pElement) | |
const TKey & | Key () const |
template<typename TEnableIf = TMapped> | |
Mapped () const | |
bool | operator!= (TLocalIterator other) const |
TConstOrMutable & | operator* () const |
TLocalIterator & | operator++ () |
TLocalIterator | operator++ (int) |
TConstOrMutable * | operator-> () const |
TLocalIterator & | operator= (const TLocalIterator &other)=default |
bool | operator== (TLocalIterator other) const |
TConstOrMutable & | Value () const |
Protected Fields | |
uinteger | bucketIdx |
Element * | element |
Private Types | |
using | difference_type = integer |
Implementation of std::iterator_traits . | |
using | iterator_category = std::forward_iterator_tag |
Implementation of std::iterator_traits . | |
using | pointer = TConstOrMutable * |
Implementation of std::iterator_traits . | |
using | reference = TConstOrMutable & |
Implementation of std::iterator_traits . | |
using | value_type = TConstOrMutable |
Implementation of std::iterator_traits . | |
|
inline |
Default constructor.
Definition at line 583 of file hashtablebase.inl.
|
default |
Copy constructor (default).
other | The iterator to assign from. |
TLocalIterator | ( | const TMutable & | mutableIt | ) |
Copy constructor accepting a mutable iterator. Available only for the constant version of this iterator.
TMutable | The type of this constructor's argument. |
mutableIt | Mutable iterator to copy from. |
|
inlineexplicit |
Constructor.
pBucketIdx | Index of the bucket this iterator works on. |
pElement | Pointer to current element. |
Definition at line 609 of file hashtablebase.inl.
|
inline |
Retrieves the key-portion of the stored object that this iterator references.
Definition at line 685 of file hashtablebase.inl.
|
inline |
Retrieves the stored object that this iterator references.
This method is an alias to operator*
This method is only available with hash map mode.
Definition at line 701 of file hashtablebase.inl.
|
inline |
Comparison operator.
other | The iterator to compare ourselves to. |
true
if this and given iterator are not equal, false
otherwise. Definition at line 652 of file hashtablebase.inl.
|
inline |
Retrieves the stored object that this iterator references.
Definition at line 661 of file hashtablebase.inl.
|
inline |
Prefix increment operator.
Definition at line 623 of file hashtablebase.inl.
|
inline |
Postfix increment operator.
Definition at line 632 of file hashtablebase.inl.
|
inline |
Retrieves a pointer to the stored object that this iterator references.
Definition at line 669 of file hashtablebase.inl.
|
default |
Copy assignment (default).
other | The iterator to assign from. |
|
inline |
Comparison operator.
other | The iterator to compare ourselves to. |
true
if this and the given iterator are pointing to the same element, false
otherwise. Definition at line 643 of file hashtablebase.inl.
|
inline |
Retrieves the stored object that this iterator references.
Definition at line 677 of file hashtablebase.inl.
|
protected |
The index of the bucket that this iterator works on.
Definition at line 579 of file hashtablebase.inl.
|
protected |
The pointer to the actual element.
Definition at line 576 of file hashtablebase.inl.