Plasma Engine  2.0
Loading...
Searching...
No Matches
plMapBaseConstIteratorBase< KeyType, ValueType, Comparer, REVERSE > Struct Template Reference

Base class for all iterators. More...

#include <Map.h>

Inheritance diagram for plMapBaseConstIteratorBase< KeyType, ValueType, Comparer, REVERSE >:

Public Types

using iterator_category = std::forward_iterator_tag
 
using value_type = plMapBaseConstIteratorBase<KeyType, ValueType, Comparer, false>
 
using difference_type = std::ptrdiff_t
 
using pointer = plMapBaseConstIteratorBase<KeyType, ValueType, Comparer, false>*
 
using reference = plMapBaseConstIteratorBase<KeyType, ValueType, Comparer, false>&
 

Public Member Functions

 PL_DECLARE_POD_TYPE ()
 
PL_ALWAYS_INLINE plMapBaseConstIteratorBase ()
 Constructs an invalid iterator.
 
PL_ALWAYS_INLINE bool IsValid () const
 Checks whether this iterator points to a valid element.
 
PL_ALWAYS_INLINE bool operator== (const plMapBaseConstIteratorBase &it2) const
 Checks whether the two iterators point to the same element.
 
 PL_ADD_DEFAULT_OPERATOR_NOTEQUAL (const plMapBaseConstIteratorBase &)
 
PL_FORCE_INLINE const KeyType & Key () const
 Returns the 'key' of the element that this iterator points to.
 
PL_FORCE_INLINE const ValueType & Value () const
 Returns the 'value' of the element that this iterator points to.
 
PL_ALWAYS_INLINE plMapBaseConstIteratorBaseoperator* ()
 Returns '*this' to enable foreach.
 
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 Prev ()
 Advances the iterator to the previous element in the map. The iterator will not be valid anymore, if the end is reached.
 
PL_ALWAYS_INLINE void operator++ ()
 Shorthand for 'Next'.
 
PL_ALWAYS_INLINE void operator-- ()
 Shorthand for 'Prev'.
 

Protected Member Functions

void Advance (const plInt32 dir0, const plInt32 dir1)
 
PL_ALWAYS_INLINE plMapBaseConstIteratorBase (typename plMapBase< KeyType, ValueType, Comparer >::Node *pInit)
 

Protected Attributes

plMapBase< KeyType, ValueType, Comparer >::Node * m_pElement
 

Friends

class plMapBase< KeyType, ValueType, Comparer >
 

Detailed Description

template<typename KeyType, typename ValueType, typename Comparer, bool REVERSE>
struct plMapBaseConstIteratorBase< KeyType, ValueType, Comparer, REVERSE >

Base class for all iterators.


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