Implementation of std::iterator_traits for enum type TEnum. This class exposes ConstIterator which uses const TEnum* and const TEnum& as pointer and reference types.
As the name of the class indicates, this iterator satisfies the C++ standard library concept RandomAccessIterator .
Definition at line 221 of file iterable.hpp.
#include <iterable.hpp>
Public Method Index: | |
| constexpr | TRandomAccessIterator (TEnum _p=TEnum(0)) |
| constexpr bool | operator!= (TRandomAccessIterator other) const |
| constexpr TEnum | operator* () const |
| TRandomAccessIterator | operator+ (TIntegral n) const |
| TRandomAccessIterator & | operator++ () |
| TRandomAccessIterator | operator++ (typename std::underlying_type< TEnum >::type) |
| TRandomAccessIterator & | operator+= (TIntegral n) |
| TRandomAccessIterator | operator- (TIntegral n) const |
| std::ptrdiff_t | operator- (TRandomAccessIterator other) const |
| TRandomAccessIterator & | operator-- () |
| TRandomAccessIterator | operator-- (typename std::underlying_type< TEnum >::type) |
| TRandomAccessIterator & | operator-= (TIntegral n) |
| bool | operator< (TRandomAccessIterator other) const |
| bool | operator<= (TRandomAccessIterator other) const |
| constexpr bool | operator== (TRandomAccessIterator other) const |
| bool | operator> (TRandomAccessIterator other) const |
| bool | operator>= (TRandomAccessIterator other) const |
| TEnum | operator[] (std::ptrdiff_t n) const |
Protected Type Index: | |
| using | TIntegral = typename std::underlying_type<TEnum>::type |
| The underlying integer type. | |
Protected Field Index: | |
| TEnum | p |
| The actual enum element. | |
Private Type Index: | |
| using | difference_type = std::ptrdiff_t |
Implementation of std::iterator_traits. | |
| using | iterator_category = std::random_access_iterator_tag |
Implementation of std::iterator_traits. | |
| using | pointer = TPointer |
Implementation of std::iterator_traits. | |
| using | reference = TReference |
Implementation of std::iterator_traits. | |
| using | value_type = TEnum |
Implementation of std::iterator_traits. | |
|
private |
Implementation of std::iterator_traits.
Definition at line 225 of file iterable.hpp.
|
private |
Implementation of std::iterator_traits.
Definition at line 223 of file iterable.hpp.
|
private |
Implementation of std::iterator_traits.
Definition at line 226 of file iterable.hpp.
|
private |
Implementation of std::iterator_traits.
Definition at line 227 of file iterable.hpp.
|
protected |
The underlying integer type.
Definition at line 234 of file iterable.hpp.
|
private |
Implementation of std::iterator_traits.
Definition at line 224 of file iterable.hpp.
|
protected |
The actual enum element.
Definition at line 231 of file iterable.hpp.
|
inlineexplicitconstexpr |
|
inlineconstexpr |
Comparison operator.
| other | The iterator to compare ourselves to. |
true if this and given iterator are not equal, false otherwise. Definition at line 282 of file iterable.hpp.
|
inlineconstexpr |
Retrieves the enum element that this iterator references.
Definition at line 290 of file iterable.hpp.
|
inline |
Addition.
| n | The value to subtract. |
Definition at line 349 of file iterable.hpp.
|
inline |
Prefix increment operator.
Definition at line 249 of file iterable.hpp.
|
inline |
Postfix increment operator.
Definition at line 261 of file iterable.hpp.
|
inline |
Addition assignment.
| n | The value to subtract. |
Definition at line 326 of file iterable.hpp.
|
inline |
Subtraction.
| n | The value to subtract. |
Definition at line 360 of file iterable.hpp.
|
inline |
Difference (distance) from this iterator to the given one.
| other | The iterator to subtract |
Definition at line 371 of file iterable.hpp.
|
inline |
Prefix decrement operator.
Definition at line 300 of file iterable.hpp.
|
inline |
Postfix decrement operator.
Definition at line 312 of file iterable.hpp.
|
inline |
Subtraction assignment.
| n | The value to subtract. |
Definition at line 338 of file iterable.hpp.
|
inline |
Compares this iterator with the given one.
| other | The iterator to compare |
true if this iterator is smaller than other, false otherwise. Definition at line 397 of file iterable.hpp.
|
inline |
Compares this iterator with the given one.
| other | The iterator to compare |
true if this iterator is smaller than or equal to other, false otherwise. Definition at line 406 of file iterable.hpp.
|
inlineconstexpr |
Comparison operator.
| other | The iterator to compare ourselves to. |
true if this and given iterator are equal, false otherwise. Definition at line 273 of file iterable.hpp.
|
inline |
Compares this iterator with the given one.
| other | The iterator to compare |
true if this iterator is greater than other, false otherwise. Definition at line 416 of file iterable.hpp.
|
inline |
Compares this iterator with the given one.
| other | The iterator to compare |
true if this iterator is greater than or equal to other, false otherwise. Definition at line 425 of file iterable.hpp.
|
inline |
Subscript operator.
| n | The iterator to subtract |
*( (*this) + n ). Definition at line 383 of file iterable.hpp.