aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2022-01-21 22:19:57 +0100
committerShauren <shauren.trinity@gmail.com>2022-01-21 22:19:57 +0100
commita0e5f9db7e3fdf70ec70533e64e5653f04eeac16 (patch)
treea9816aeb6b2a4d2059fb1d05ac269503e3c43305
parent7a5529eb58daad9216416c9c632543b1a931ce1f (diff)
Core/Misc: Fixed engrish in static_assert for EnumFlag and restrict DEFINE_ENUM_FLAG to enums only (with std::is_enum)
-rw-r--r--src/common/Utilities/EnumFlag.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/common/Utilities/EnumFlag.h b/src/common/Utilities/EnumFlag.h
index 528625c1f08..8366af6c4f4 100644
--- a/src/common/Utilities/EnumFlag.h
+++ b/src/common/Utilities/EnumFlag.h
@@ -28,7 +28,7 @@ constexpr bool IsEnumFlag(T) { return false; }
namespace EnumTraits
{
template<typename T>
- using IsFlag = std::integral_constant<bool, IsEnumFlag(T{})>;
+ using IsFlag = std::conjunction<std::is_enum<T>, std::integral_constant<bool, IsEnumFlag(T{})>>;
}
template<typename T, std::enable_if_t<EnumTraits::IsFlag<T>::value, std::nullptr_t> = nullptr>
@@ -64,7 +64,7 @@ inline constexpr T operator~(T value)
template<typename T>
class EnumFlag
{
- static_assert(EnumTraits::IsFlag<T>::value, "EnumFlag must be used only with enums that are specify EnumFlag::IsFlag");
+ static_assert(EnumTraits::IsFlag<T>::value, "EnumFlag must be used only with enums that are marked as flags by DEFINE_ENUM_FLAG macro");
public:
/*implicit*/ constexpr EnumFlag(T value) : _value(value)