Add macro BETTER_ENUMS_CLASS_ATTRIBUTE for adding attributes to enum class (#80)

When not set it defaults to empty macro.
This commit is contained in:
Michael Ernst 2019-12-06 21:23:25 +01:00 committed by Anton Bachin
parent 4b76e7783b
commit fa39f5c89e

6
enum.h
View File

@ -608,6 +608,10 @@ constexpr const char *_final_ ## index = \
#endif #endif
#ifndef BETTER_ENUMS_CLASS_ATTRIBUTE
# define BETTER_ENUMS_CLASS_ATTRIBUTE
#endif
#define BETTER_ENUMS_TYPE(SetUnderlyingType, SwitchType, GenerateSwitchType, \ #define BETTER_ENUMS_TYPE(SetUnderlyingType, SwitchType, GenerateSwitchType, \
GenerateStrings, ToStringConstexpr, \ GenerateStrings, ToStringConstexpr, \
DeclareInitialize, DefineInitialize, CallInitialize, \ DeclareInitialize, DefineInitialize, CallInitialize, \
@ -619,7 +623,7 @@ BETTER_ENUMS_ID(GenerateSwitchType(Underlying, __VA_ARGS__)) \
\ \
} \ } \
\ \
class Enum { \ class BETTER_ENUMS_CLASS_ATTRIBUTE Enum { \
private: \ private: \
typedef ::better_enums::optional<Enum> _optional; \ typedef ::better_enums::optional<Enum> _optional; \
typedef ::better_enums::optional<std::size_t> _optional_index; \ typedef ::better_enums::optional<std::size_t> _optional_index; \