From 93e8dacb5de1057e3f6798c5f9fb5a1637dd6530 Mon Sep 17 00:00:00 2001 From: Jamie Reece Wilson Date: Mon, 3 Jul 2023 17:58:16 +0100 Subject: [PATCH] [*] Update 2023: ensure AUE_DEFINE_EXT's are classes under C++ --- Include/AuroraEnum.hpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Include/AuroraEnum.hpp b/Include/AuroraEnum.hpp index 8b3015e..7669eaa 100644 --- a/Include/AuroraEnum.hpp +++ b/Include/AuroraEnum.hpp @@ -88,7 +88,7 @@ #if defined(AU_LANG_CPP) #define AUE_DEFINE_DECL_LANG(name, vals) enum class name : AuUInt32 { AU_FOR_EACH(_AUE_EMIT_ARRAY, _AUE_STRIP_BRACKETS(vals)) kEnumCount, kEnumInvalid = (AuUInt32) -1, eEnumInvalid = (AuUInt32)-1, eEnumCount = kEnumCount }; - #define AUE_DEFINE_DECL_EXT(name, vals, ext) enum name : ext { AU_FOR_EACH(_AUE_EMIT_ARRAY, _AUE_STRIP_BRACKETS(vals)) kEnumCount, kEnumInvalid = (ext) -1, eEnumInvalid = (ext)-1, eEnumCount = kEnumCount }; + #define AUE_DEFINE_DECL_EXT(name, vals, ext) enum class name : ext { AU_FOR_EACH(_AUE_EMIT_ARRAY, _AUE_STRIP_BRACKETS(vals)) kEnumCount, kEnumInvalid = (ext) -1, eEnumInvalid = (ext)-1, eEnumCount = kEnumCount }; #else #define AUE_DEFINE_DECL_LANG(name, vals) enum name : uint32_ct { AU_FOR_EACH(_AUE_EMIT_ARRAY, _AUE_STRIP_BRACKETS(vals)) k ## name ## EnumCount, k ## name ## EnumInvalid = (uint32_ct) -1, e ## name ## EnumInvalid = (uint32_ct)-1, e ## name ## EnumCount = k ## name ## EnumCount }; @@ -137,6 +137,6 @@ #define AUE_DEFINE(name, vals) AUE_DEFINE_DECL_LANG(name, vals) AUE_DEFINE_BODY(name, vals) -#define AUE_DEFINE_EXT(name, vals, ext) AUE_DEFINE_DECL_EXT(name, vals, ext) AUE_DEFINE_BODY(name, vals) +#define AUE_DEFINE_EXT(name, ext, vals) AUE_DEFINE_DECL_EXT(name, vals, ext) AUE_DEFINE_BODY(name, vals) #define AUE_ITERATE(name, index) name index = static_cast(0); static_cast(index) < static_cast(name::kEnumCount); index = static_cast(static_cast(index) + 1) \ No newline at end of file