aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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)