#include <iterable.hpp>
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 241 of file iterable.hpp.
Public Methods | |
| 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++ (int) |
| TRandomAccessIterator & | operator+= (TIntegral n) |
| TRandomAccessIterator | operator- (TIntegral n) const |
| std::ptrdiff_t | operator- (TRandomAccessIterator other) const |
| TRandomAccessIterator & | operator-- () |
| TRandomAccessIterator | operator-- (int) |
| 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 Types | |
| using | TIntegral = typename std::underlying_type< TEnum >::type |
Protected Fields | |
| TEnum | p |
Private Types | |
| 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. | |
|
protected |
The underlying integer type.
Definition at line 254 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 302 of file iterable.hpp.
|
inlineconstexpr |
Retrieves the enum element that this iterator references.
Definition at line 310 of file iterable.hpp.
|
inline |
Addition.
| n | The value to subtract. |
Definition at line 369 of file iterable.hpp.
|
inline |
Prefix increment operator.
Definition at line 269 of file iterable.hpp.
|
inline |
Postfix increment operator.
Definition at line 281 of file iterable.hpp.
|
inline |
Addition assignment.
| n | The value to subtract. |
Definition at line 346 of file iterable.hpp.
|
inline |
Subtraction.
| n | The value to subtract. |
Definition at line 380 of file iterable.hpp.
|
inline |
Difference (distance) from this iterator to the given one.
| other | The iterator to subtract |
Definition at line 391 of file iterable.hpp.
|
inline |
Prefix decrement operator.
Definition at line 320 of file iterable.hpp.
|
inline |
Postfix decrement operator.
Definition at line 332 of file iterable.hpp.
|
inline |
Subtraction assignment.
| n | The value to subtract. |
Definition at line 358 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 418 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 427 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 293 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 437 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 446 of file iterable.hpp.
|
inline |
Subscript operator.
| n | The iterator to subtract |
*( (*this) + n ). Definition at line 404 of file iterable.hpp.
|
protected |
The actual enum element.
Definition at line 251 of file iterable.hpp.