diff options
| author | Shauren <shauren.trinity@gmail.com> | 2022-01-21 22:19:57 +0100 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2022-01-22 01:25:20 +0100 |
| commit | a03e26aa81ec20d7187c81e99d4c1e585b67f0e3 (patch) | |
| tree | 6659d1ca1f1162052c2aab2b72d07b8ada63b124 /src | |
| parent | fd7f48545ce76740065860c0963194c2a9e3e0e2 (diff) | |
Core/Misc: Fixed engrish in static_assert for EnumFlag and restrict DEFINE_ENUM_FLAG to enums only (with std::is_enum)
(cherry picked from commit a0e5f9db7e3fdf70ec70533e64e5653f04eeac16)
Diffstat (limited to 'src')
| -rw-r--r-- | src/common/Utilities/EnumFlag.h | 4 |
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) |
