ezEngine  Release 25.03
ezSetBase< KeyType, Comparer >::IteratorBase< REVERSE > Struct Template Reference

Base class for all iterators. More...

#include <Set.h>

Public Types

using iterator_category = std::forward_iterator_tag
 
using value_type = IteratorBase< REVERSE >
 
using difference_type = std::ptrdiff_t
 
using pointer = IteratorBase< REVERSE > *
 
using reference = IteratorBase< REVERSE > &
 

Public Member Functions

 EZ_DECLARE_POD_TYPE ()
 
EZ_ALWAYS_INLINE IteratorBase ()
 Constructs an invalid iterator.
 
EZ_ALWAYS_INLINE bool IsValid () const
 Checks whether this iterator points to a valid element.
 
EZ_ALWAYS_INLINE bool operator== (const typename ezSetBase< KeyType, Comparer >::IteratorBase< REVERSE > &it2) const
 Checks whether the two iterators point to the same element.
 
 EZ_ADD_DEFAULT_OPERATOR_NOTEQUAL (const typename ezSetBase< KeyType, Comparer >::IteratorBase< REVERSE > &)
 
const EZ_FORCE_INLINE KeyType & Key () const
 Returns the 'key' of the element that this iterator points to.
 
const EZ_ALWAYS_INLINE KeyType & operator* () const
 Returns the 'key' of the element that this iterator points to.
 
void Next ()
 Advances the iterator to the next element in the set. The iterator will not be valid anymore, if the end is reached.
 
void Prev ()
 Advances the iterator to the previous element in the set. The iterator will not be valid anymore, if the end is reached.
 
EZ_ALWAYS_INLINE void operator++ ()
 Shorthand for 'Next'.
 
EZ_ALWAYS_INLINE void operator-- ()
 Shorthand for 'Prev'.
 

Protected Member Functions

void Advance (ezInt32 dir0, ezInt32 dir1)
 
EZ_ALWAYS_INLINE IteratorBase (Node *pInit)
 

Protected Attributes

Node * m_pElement
 

Friends

class ezSetBase< KeyType, Comparer >
 

Detailed Description

template<typename KeyType, typename Comparer>
template<bool REVERSE>
struct ezSetBase< KeyType, Comparer >::IteratorBase< REVERSE >

Base class for all iterators.


The documentation for this struct was generated from the following files: