10template <
typename Enum>
39 iterator
end()
const {
return {
static_cast<Underlying>(Enum::Last) + 1 }; }
Helper class to iterate over enum values from Enum::First to Enum::Last.
Definition Enum.h:11
iterator end() const
Returns an iterator to the end of the enum range.
Definition Enum.h:39
iterator begin() const
Returns an iterator to the beginning of the enum range.
Definition Enum.h:37
std::underlying_type_t< Enum > Underlying
Type of the underlying enum values.
Definition Enum.h:14
Iterator class to iterate over enum values.
Definition Enum.h:17
Enum operator*() const
Dereference operator to get the current enum value.
Definition Enum.h:22
bool operator!=(const iterator &other) const
Inequality operator to compare two iterators.
Definition Enum.h:33
Underlying v
Current value of the iterator.
Definition Enum.h:19
iterator & operator++()
Pre-increment operator to move to the next enum value.
Definition Enum.h:25
bool operator==(const iterator &other) const
Equality operator to compare two iterators.
Definition Enum.h:31