Classes | |
struct | EnumInfo |
struct | EnumWrapper< ENUMCLASS > |
Namespaces | |
details | |
Macros | |
#define | PRIVATE_MAXON_ENUM_TYPE0(FRIEND, DECL, EXTRA, E, id) |
#define | PRIVATE_MAXON_ENUM_DATATYPE(FRIEND, DECL, E, N, id) |
#define | PRIVATE_MAXON_ENUM_TYPE1(FRIEND, DECL, EXTRA, E, id) |
#define | PRIVATE_MAXON_ENUM_TYPE2(FRIEND, DECL, EXTRA, E, id) |
#define | MAXON_DATATYPE_EARLY_ENUM(E, id) |
#define | PRIVATE_MAXON_ENUM_TYPE_C(nonempty, FRIEND, DECL, EXTRA, E, id) |
#define | PRIVATE_MAXON_ENUM_TYPE_B(nonempty, FRIEND, DECL, EXTRA, E, id) |
#define | PRIVATE_MAXON_ENUM_TYPE_A(nonempty, FRIEND, DECL, EXTRA, E, id) |
#define | PRIVATE_MAXON_ENUM_TYPE(FRIEND, DECL, 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 > | |
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, | |
DECL, | |||
EXTRA, | |||
E, | |||
id | |||
) |
#define PRIVATE_MAXON_ENUM_DATATYPE | ( | FRIEND, | |
DECL, | |||
E, | |||
N, | |||
id | |||
) |
#define PRIVATE_MAXON_ENUM_TYPE1 | ( | FRIEND, | |
DECL, | |||
EXTRA, | |||
E, | |||
id | |||
) |
#define PRIVATE_MAXON_ENUM_TYPE2 | ( | FRIEND, | |
DECL, | |||
EXTRA, | |||
E, | |||
id | |||
) |
#define MAXON_DATATYPE_EARLY_ENUM | ( | E, | |
id | |||
) |
#define PRIVATE_MAXON_ENUM_TYPE_C | ( | nonempty, | |
FRIEND, | |||
DECL, | |||
EXTRA, | |||
E, | |||
id | |||
) |
#define PRIVATE_MAXON_ENUM_TYPE_B | ( | nonempty, | |
FRIEND, | |||
DECL, | |||
EXTRA, | |||
E, | |||
id | |||
) |
#define PRIVATE_MAXON_ENUM_TYPE_A | ( | nonempty, | |
FRIEND, | |||
DECL, | |||
EXTRA, | |||
E, | |||
id | |||
) |
#define PRIVATE_MAXON_ENUM_TYPE | ( | FRIEND, | |
DECL, | |||
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 | ||
) |
Tests if a specific flag is set in a MAXON enum flag set.
[in] | flags | Given enum flag set. |
[in] | flag | Specific flag. |
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. |