TrinityCore
EnumUtils::Iterator< Enum > Class Template Reference

#include <SmartEnum.h>

Public Types

using iterator_category = std::random_access_iterator_tag
 
using value_type = Enum
 
using pointer = Enum *
 
using reference = Enum &
 
using difference_type = std::ptrdiff_t
 

Public Member Functions

 Iterator ()
 
 Iterator (size_t index)
 
bool operator== (const Iterator &other) const =default
 
std::strong_ordering operator<=> (const Iterator &other) const =default
 
difference_type operator- (Iterator const &other) const
 
value_type operator[] (difference_type d) const
 
value_type operator* () const
 
Iteratoroperator+= (difference_type d)
 
Iteratoroperator++ ()
 
Iterator operator++ (int)
 
Iterator operator+ (difference_type d) const
 
Iteratoroperator-= (difference_type d)
 
Iteratoroperator-- ()
 
Iterator operator-- (int)
 
Iterator operator- (difference_type d) const
 

Private Attributes

difference_type _index
 

Detailed Description

template<typename Enum>
class EnumUtils::Iterator< Enum >

Definition at line 76 of file SmartEnum.h.

Member Typedef Documentation

◆ difference_type

template<typename Enum >
using EnumUtils::Iterator< Enum >::difference_type = std::ptrdiff_t

Definition at line 83 of file SmartEnum.h.

◆ iterator_category

template<typename Enum >
using EnumUtils::Iterator< Enum >::iterator_category = std::random_access_iterator_tag

Definition at line 79 of file SmartEnum.h.

◆ pointer

template<typename Enum >
using EnumUtils::Iterator< Enum >::pointer = Enum*

Definition at line 81 of file SmartEnum.h.

◆ reference

template<typename Enum >
using EnumUtils::Iterator< Enum >::reference = Enum&

Definition at line 82 of file SmartEnum.h.

◆ value_type

template<typename Enum >
using EnumUtils::Iterator< Enum >::value_type = Enum

Definition at line 80 of file SmartEnum.h.

Constructor & Destructor Documentation

◆ Iterator() [1/2]

template<typename Enum >
EnumUtils::Iterator< Enum >::Iterator ( )
inline

Definition at line 85 of file SmartEnum.h.

◆ Iterator() [2/2]

template<typename Enum >
EnumUtils::Iterator< Enum >::Iterator ( size_t  index)
inlineexplicit

Definition at line 86 of file SmartEnum.h.

Member Function Documentation

◆ operator*()

template<typename Enum >
value_type EnumUtils::Iterator< Enum >::operator* ( ) const
inline

Definition at line 94 of file SmartEnum.h.

+ Here is the call graph for this function:

◆ operator+()

template<typename Enum >
Iterator EnumUtils::Iterator< Enum >::operator+ ( difference_type  d) const
inline

Definition at line 99 of file SmartEnum.h.

◆ operator++() [1/2]

template<typename Enum >
Iterator & EnumUtils::Iterator< Enum >::operator++ ( )
inline

Definition at line 97 of file SmartEnum.h.

+ Here is the call graph for this function:

◆ operator++() [2/2]

template<typename Enum >
Iterator EnumUtils::Iterator< Enum >::operator++ ( int  )
inline

Definition at line 98 of file SmartEnum.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ operator+=()

template<typename Enum >
Iterator & EnumUtils::Iterator< Enum >::operator+= ( difference_type  d)
inline

Definition at line 96 of file SmartEnum.h.

+ Here is the caller graph for this function:

◆ operator-() [1/2]

template<typename Enum >
Iterator EnumUtils::Iterator< Enum >::operator- ( difference_type  d) const
inline

Definition at line 104 of file SmartEnum.h.

◆ operator-() [2/2]

template<typename Enum >
difference_type EnumUtils::Iterator< Enum >::operator- ( Iterator< Enum > const &  other) const
inline

Definition at line 91 of file SmartEnum.h.

◆ operator--() [1/2]

template<typename Enum >
Iterator & EnumUtils::Iterator< Enum >::operator-- ( )
inline

Definition at line 102 of file SmartEnum.h.

+ Here is the call graph for this function:

◆ operator--() [2/2]

template<typename Enum >
Iterator EnumUtils::Iterator< Enum >::operator-- ( int  )
inline

Definition at line 103 of file SmartEnum.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ operator-=()

template<typename Enum >
Iterator & EnumUtils::Iterator< Enum >::operator-= ( difference_type  d)
inline

Definition at line 101 of file SmartEnum.h.

+ Here is the caller graph for this function:

◆ operator<=>()

template<typename Enum >
std::strong_ordering EnumUtils::Iterator< Enum >::operator<=> ( const Iterator< Enum > &  other) const
default

◆ operator==()

template<typename Enum >
bool EnumUtils::Iterator< Enum >::operator== ( const Iterator< Enum > &  other) const
default

◆ operator[]()

template<typename Enum >
value_type EnumUtils::Iterator< Enum >::operator[] ( difference_type  d) const
inline

Definition at line 93 of file SmartEnum.h.

+ Here is the caller graph for this function:

Member Data Documentation

◆ _index

template<typename Enum >
difference_type EnumUtils::Iterator< Enum >::_index
private

Definition at line 107 of file SmartEnum.h.


The documentation for this class was generated from the following file: