Implements a std::iterator_traits
class for scoped and non-scoped enum types. The documentation is found with TMP struct T_EnumIsIterable, which needs to be specialized for template type TEnum. For other types, this class is not constructible.
TEnum | The enum type to iterate over. |
TEnableIf | This parameter has a default expressions and must not be provided with specializations of this struct. It is used internally to ensure that only if a specialization of T_EnumIsIterable<TEnum> exists, this class is available. |
Definition at line 200 of file iterable.hpp.
#include <iterable.hpp>
Inner Type Index: | |
class | TRandomAccessIterator |
Public Type Index: | |
using | ConstIterator = TRandomAccessIterator<const TEnum*, const TEnum&> |
The constant iterator exposed by this class. A Mutable version is not available. | |
Public Method Index: | |
EnumIterator ()=default | |
Default constructor. | |
ConstIterator | begin () const |
ConstIterator | end () const |
using ConstIterator = TRandomAccessIterator<const TEnum*, const TEnum&> |
The constant iterator exposed by this class. A Mutable version is not available.
Definition at line 432 of file iterable.hpp.
|
inline |
Returns an iterator referring to the start of enumeration TEnum.
Definition at line 437 of file iterable.hpp.
|
inline |
Returns an iterator referring the first illegal value of enumeration TEnum.
Definition at line 447 of file iterable.hpp.