From 64177ba5fe5edf1e120ea234ffa3aee222e1a1c6 Mon Sep 17 00:00:00 2001 From: 0xFEEDC0DE64 Date: Thu, 31 Mar 2022 17:03:23 +0200 Subject: [PATCH] typesafe enums add support for predefined enum values --- src/cpptypesafeenum.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/cpptypesafeenum.h b/src/cpptypesafeenum.h index 9d93c01..b51d18e 100644 --- a/src/cpptypesafeenum.h +++ b/src/cpptypesafeenum.h @@ -13,10 +13,10 @@ // These macros make it possible to define a typesafe enum with parse and // toString methods -#define DECLARE_TYPESAFE_ENUM_HELPER1(name) 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_HELPER4(name) cb(TheEnum::name, CPP_STRINGIFY(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_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(Name, Derivation, Values) \ enum class Name Derivation \