Build fix for clang <= 14

(cherry picked from commit 5f31d7cb88)
This commit is contained in:
Shauren
2024-04-23 11:59:45 +02:00
committed by Ovahlord
parent 6be8724264
commit a0a6f9563c

View File

@@ -116,8 +116,11 @@ namespace Movement
template <MoveSplineFlagEnum Flag>
struct FlagAccessor
{
// force compile time evaluation - workaround for clang <= 14
static constexpr MoveSplineFlagEnum DisallowedFlag = std::integral_constant<MoveSplineFlagEnum, GetDisallowedFlagsFor(Flag)>::value;
constexpr operator bool() const { return (Raw & Flag) != MoveSplineFlagEnum::None; }
constexpr FlagAccessor& operator=(bool val) { if (val) { Raw = Raw & ~GetDisallowedFlagsFor(Flag) | Flag; } else Raw &= ~Flag; return *this; }
constexpr FlagAccessor& operator=(bool val) { if (val) { Raw = Raw & ~DisallowedFlag | Flag; } else Raw &= ~Flag; return *this; }
MoveSplineFlagEnum Raw;
};