#include <evo/impl/iter.h>
template<class T, int F, int L>
class evo::EnumIterator< T, F, L >
Iterator template for sequential enum values.
- Template Parameters
-
T | Enum type to iterator values on |
F | First enum value to start iterator at |
L | Last enum value to end iterator at |
- Example
This simple example prints out enum number values
enum MyEnum {
ENUM_ONE,
ENUM_TWO,
ENUM_THREE
};
int main() {
for (MyEnumIter iter; iter; ++iter)
c.
out << iter.value_num() <<
NL;
return 0;
}
|
static const T | FIRST = (T)F |
|
static const T | LAST = (T)L |
|
◆ EnumType
◆ This
◆ EnumIterator() [1/4]
Constructor, sets to first enum value.
◆ EnumIterator() [2/4]
Copy constructor.
- Parameters
-
◆ EnumIterator() [3/4]
Constructor to start at explicit enum value.
- Parameters
-
value | Enum value to start at |
◆ EnumIterator() [4/4]
Constructor to start at given position.
- Parameters
-
pos | Position to start at, either: iterFIRST, iterLAST, or iterEND |
◆ next()
◆ operator SafeBoolType()
operator SafeBoolType |
( |
| ) |
const |
|
inlineinherited |
Safe (explicit) evaluation as bool type.
- This is called when object is directly evaluated as a bool, and is equivalent to: !operator!()
- See SafeBool
◆ operator!()
Check whether iterator is at end.
- Returns
- Whether at end
◆ operator!=()
Inequality operator to compare with another iterator to same enum.
- Parameters
-
oth | Other iterator to compare to |
- Returns
- Whether inequal
◆ operator*()
Dereference iterator to get current enum value.
- Returns
- Current enum value
◆ operator++() [1/2]
Pre increment operator, moves to next enum value or end.
- Returns
- This
◆ operator++() [2/2]
Post increment operator, moves to next enum value or end.
- Returns
- Iterator copy before increment
◆ operator--() [1/2]
Pre decrement operator, moves to previous enum value or end.
- Returns
- This
◆ operator--() [2/2]
Post decrement operator, moves to previous enum value or end.
- Returns
- Iterator copy before decrement
◆ operator=() [1/3]
Assignment operator.
- Parameters
-
- Returns
- This
◆ operator=() [2/3]
Assignment operator to set at explicit enum value.
- Parameters
-
value | Enum value to set at |
- Returns
- This
◆ operator=() [3/3]
Assignment operator to set at given position.
- Parameters
-
pos | Position to start at, either: iterFIRST, iterLAST, or iterEND |
- Returns
- This
◆ operator==()
bool operator== |
( |
const This & |
oth | ) |
const |
|
inline |
Equality operator to compare with another iterator to same enum.
- Parameters
-
oth | Other iterator to compare to |
- Returns
- Whether equal
◆ prev()
◆ setpos()
◆ value()
Get current enum value.
- Returns
- Current enum value
◆ value_num()
int value_num |
( |
int |
endvalue = 0 | ) |
const |
|
inline |
Get current enum number value.
- Returns
- Current enum number value
◆ end_
◆ FIRST
◆ LAST
◆ value_
The documentation for this class was generated from the following file: