XII Release 0.1.0
Loading...
Searching...
No Matches
xiiHashTableBaseConstIterator< KeyType, ValueType, Hasher > Struct Template Reference

Const iterator. More...

#include <HashTable.h>

Inheritance diagram for xiiHashTableBaseConstIterator< KeyType, ValueType, Hasher >:
[legend]

Classes

struct  Pointer

Public Types

using iterator_category = std::forward_iterator_tag
using value_type = xiiHashTableBaseConstIterator
using difference_type = std::ptrdiff_t
using pointer = xiiHashTableBaseConstIterator*
using reference = xiiHashTableBaseConstIterator&

Public Member Functions

 XII_DECLARE_POD_TYPE ()
bool IsValid () const
 Checks whether this iterator points to a valid element.
bool operator== (const xiiHashTableBaseConstIterator &rhs) const
 Checks whether the two iterators point to the same element.
const KeyType & Key () const
 Returns the 'key' of the element that this iterator points to.
const ValueType & Value () const
 Returns the 'value' of the element that this iterator points to.
void Next ()
 Advances the iterator to the next element in the map. The iterator will not be valid anymore, if the end is reached.
void operator++ ()
 Shorthand for 'Next'.
XII_ALWAYS_INLINE xiiHashTableBaseConstIterator & operator* ()
 Returns '*this' to enable foreach.
XII_ALWAYS_INLINE Pointer operator-> () const
template<std::size_t Index>
std::tuple_element_t< Index, xiiHashTableBaseConstIterator > & get () const

Protected Member Functions

 xiiHashTableBaseConstIterator (const xiiHashTableBase< KeyType, ValueType, Hasher > &hashTable)
void SetToBegin ()
void SetToEnd ()

Protected Attributes

const xiiHashTableBase< KeyType, ValueType, Hasher > * m_pHashTable = nullptr
xiiUInt32 m_uiCurrentIndex = 0
xiiUInt32 m_uiCurrentCount = 0

Friends

class xiiHashTableBase< KeyType, ValueType, Hasher >

Detailed Description

template<typename KeyType, typename ValueType, typename Hasher>
struct xiiHashTableBaseConstIterator< KeyType, ValueType, Hasher >

Const iterator.


The documentation for this struct was generated from the following files:
  • /home/runner/work/XII/XII/Source/Engine/Foundation/Containers/HashTable.h
  • /home/runner/work/XII/XII/Source/Engine/Foundation/Containers/Implementation/HashTable_inl.h