Classes | |
| struct | EnumInfo |
| struct | EnumWrapper< ENUMCLASS > |
Namespaces | |
| details | |
Macros | |
| #define | PRIVATE_MAXON_ENUM_TYPE0(FRIEND, EXTRA, E, id) |
| #define | PRIVATE_MAXON_ENUM_DATATYPE(FRIEND, E, N, id) |
| #define | PRIVATE_MAXON_ENUM_TYPE1(FRIEND, EXTRA, E, id) |
| #define | PRIVATE_MAXON_ENUM_TYPE2(FRIEND, EXTRA, E, id) |
| #define | MAXON_DATATYPE_EARLY_ENUM(E, id) |
| #define | PRIVATE_MAXON_ENUM_TYPE_C(nonempty, FRIEND, EXTRA, E, id) |
| #define | PRIVATE_MAXON_ENUM_TYPE_B(nonempty, FRIEND, EXTRA, E, id) |
| #define | PRIVATE_MAXON_ENUM_TYPE_A(nonempty, FRIEND, EXTRA, E, id) |
| #define | PRIVATE_MAXON_ENUM_TYPE(FRIEND, EXTRA, E, ...) |
| #define | MAXON_ENUM_ORDERED_LIST(E, ...) |
| #define | MAXON_ENUM_ORDERED_LIST_CLASS(E, ...) |
| #define | PRIVATE_MAXON_ENUM_UNORDERED_LIST(FRIEND, E) |
| #define | MAXON_ENUM_LIST(E, ...) |
| #define | MAXON_ENUM_LIST_CLASS(E, ...) |
| #define | PRIVATE_MAXON_ENUM_FLAGS(FRIEND, E) |
| #define | MAXON_ENUM_FLAGS(E, ...) |
| #define | MAXON_ENUM_ORDERED_FLAGS(E, ...) |
| #define | MAXON_ENUM_FLAGS_CLASS(E, ...) |
| #define | MAXON_ENUM_ORDERED_FLAGS_CLASS(E, ...) |
Typedefs | |
| template<typename T > | |
| using | UnderlyingType = typename std::conditional< STD_IS_REPLACEMENT(enum, T), typename std::underlying_type< typename std::conditional< STD_IS_REPLACEMENT(enum, T), T, ENUM_DONT_INITIALIZE >::type >::type, T >::type |
Functions | |
| const EnumInfo & | PrivateGetEnumInfo (...) |
| template<typename E > | |
| const EnumInfo & | GetEnumInfo () |
| template<typename E > | |
| constexpr E | ConditionalFlag (Bool condition, E value) |
| template<typename T , typename E > | |
| Bool | TestFlag (const T flags, const E flag) |
| template<typename T , typename E > | |
| Bool | TestAllFlags (const T flags, const E test) |
| template<typename E > | |
| Bool | IsAllSet (E flags, E mask) |
| template<typename T , typename E > | |
| void | SetFlag (T &flags, const E flag) |
| template<typename T , typename E > | |
| void | DeleteFlag (T &flags, const E flag) |
| template<typename T , typename E > | |
| void | ToggleFlag (T &flags, const E flag) |
| template<typename T , typename E > | |
| void | SetFlag (T &flags, const E flag, Bool set) |
| #define PRIVATE_MAXON_ENUM_TYPE0 | ( | FRIEND, | |
| EXTRA, | |||
| E, | |||
| id | |||
| ) |
| #define PRIVATE_MAXON_ENUM_DATATYPE | ( | FRIEND, | |
| E, | |||
| N, | |||
| id | |||
| ) |
| #define PRIVATE_MAXON_ENUM_TYPE1 | ( | FRIEND, | |
| EXTRA, | |||
| E, | |||
| id | |||
| ) |
| #define PRIVATE_MAXON_ENUM_TYPE2 | ( | FRIEND, | |
| EXTRA, | |||
| E, | |||
| id | |||
| ) |
| #define MAXON_DATATYPE_EARLY_ENUM | ( | E, | |
| id | |||
| ) |
| #define PRIVATE_MAXON_ENUM_TYPE_C | ( | nonempty, | |
| FRIEND, | |||
| EXTRA, | |||
| E, | |||
| id | |||
| ) |
| #define PRIVATE_MAXON_ENUM_TYPE_B | ( | nonempty, | |
| FRIEND, | |||
| EXTRA, | |||
| E, | |||
| id | |||
| ) |
| #define PRIVATE_MAXON_ENUM_TYPE_A | ( | nonempty, | |
| FRIEND, | |||
| EXTRA, | |||
| E, | |||
| id | |||
| ) |
| #define PRIVATE_MAXON_ENUM_TYPE | ( | FRIEND, | |
| EXTRA, | |||
| E, | |||
| ... | |||
| ) |
| #define MAXON_ENUM_ORDERED_LIST | ( | E, | |
| ... | |||
| ) |
| #define MAXON_ENUM_ORDERED_LIST_CLASS | ( | E, | |
| ... | |||
| ) |
| #define PRIVATE_MAXON_ENUM_UNORDERED_LIST | ( | FRIEND, | |
| E | |||
| ) |
| #define MAXON_ENUM_LIST | ( | E, | |
| ... | |||
| ) |
| #define MAXON_ENUM_LIST_CLASS | ( | E, | |
| ... | |||
| ) |
| #define PRIVATE_MAXON_ENUM_FLAGS | ( | FRIEND, | |
| E | |||
| ) |
| #define MAXON_ENUM_FLAGS | ( | E, | |
| ... | |||
| ) |
| #define MAXON_ENUM_ORDERED_FLAGS | ( | E, | |
| ... | |||
| ) |
| #define MAXON_ENUM_FLAGS_CLASS | ( | E, | |
| ... | |||
| ) |
| #define MAXON_ENUM_ORDERED_FLAGS_CLASS | ( | E, | |
| ... | |||
| ) |
| using UnderlyingType = typename std::conditional<STD_IS_REPLACEMENT(enum, T), typename std::underlying_type<typename std::conditional<STD_IS_REPLACEMENT(enum, T), T, ENUM_DONT_INITIALIZE>::type>::type, T>::type |
A type alias for the underlying type of T if T is an enumeration type, or T itself.
| const EnumInfo& PrivateGetEnumInfo | ( | ... | ) |
| const EnumInfo& GetEnumInfo | ( | ) |
Returns the EnumInfo for enum type E. For an enum type E you can get the info by calling GetEnumInfo<E>().
| E | An enum type. |
|
constexpr |
| Bool TestFlag | ( | const T | flags, |
| const E | flag | ||
| ) |
Tests if a specific flag is set in a MAXON enum flag set.
| [in] | flags | Given enum flag set. |
| [in] | flag | Specific flag. |
| Bool TestAllFlags | ( | const T | flags, |
| const E | test | ||
| ) |
Tests if all flags in test are set in a MAXON enum flag set.
| [in] | flags | Given enum flag set. |
| [in] | test | Set of flags which must be set for a true result. |
| Bool IsAllSet | ( | E | flags, |
| E | mask | ||
| ) |
| void SetFlag | ( | T & | flags, |
| const E | flag | ||
| ) |
Sets a specific flag in a MAXON enum flag set.
| [in] | flags | Given enum flag set. |
| [in] | flag | Specific flag. |
| void DeleteFlag | ( | T & | flags, |
| const E | flag | ||
| ) |
Deletes a specific flag in a MAXON enum flag set.
| [in] | flags | Given enum flag set. |
| [in] | flag | Specific flag. |
| void ToggleFlag | ( | T & | flags, |
| const E | flag | ||
| ) |
Toggles a flag in a MAXON enum flag set
| [in] | flags | Given enum flag set. |
| [in] | flag | Specific flag. |
| void SetFlag | ( | T & | flags, |
| const E | flag, | ||
| Bool | set | ||
| ) |
Sets or deletes a specific flag in a MAXON enum flag set.
| [in] | flags | Given enum flag set. |
| [in] | flag | Specific flag. |
| [in] | set | True, if the new flags should be set, false if they should be deleted. |