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 E > | |
| Bool | IsAllSet (E flags, E mask) | 
| 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 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) | 
| #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 IsAllSet | ( | E | flags, | 
| E | mask | ||
| ) | 
| Bool TestFlag | ( | const T | flags, | 
| const E | flag | ||
| ) | 
| Bool TestAllFlags | ( | const T | flags, | 
| const E | test | ||
| ) | 
| 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. |