typesafe enums add support for predefined enum values
This commit is contained in:
@ -13,10 +13,10 @@
|
|||||||
// These macros make it possible to define a typesafe enum with parse and
|
// These macros make it possible to define a typesafe enum with parse and
|
||||||
// toString methods
|
// toString methods
|
||||||
|
|
||||||
#define DECLARE_TYPESAFE_ENUM_HELPER1(name) name,
|
#define DECLARE_TYPESAFE_ENUM_HELPER1(name, ...) name __VA_ARGS__ ,
|
||||||
#define DECLARE_TYPESAFE_ENUM_HELPER2(name) case TheEnum::name: return #name;
|
#define DECLARE_TYPESAFE_ENUM_HELPER2(name, ...) case TheEnum::name: return #name;
|
||||||
#define DECLARE_TYPESAFE_ENUM_HELPER3(name) else if (str == CPP_STRINGIFY(name)) return TheEnum::name;
|
#define DECLARE_TYPESAFE_ENUM_HELPER3(name, ...) else if (str == CPP_STRINGIFY(name)) return TheEnum::name;
|
||||||
#define DECLARE_TYPESAFE_ENUM_HELPER4(name) cb(TheEnum::name, CPP_STRINGIFY(name));
|
#define DECLARE_TYPESAFE_ENUM_HELPER4(name, ...) cb(TheEnum::name, CPP_STRINGIFY(name));
|
||||||
|
|
||||||
#define DECLARE_TYPESAFE_ENUM(Name, Derivation, Values) \
|
#define DECLARE_TYPESAFE_ENUM(Name, Derivation, Values) \
|
||||||
enum class Name Derivation \
|
enum class Name Derivation \
|
||||||
|
Reference in New Issue
Block a user