Core/Flags: Fix bitfield type selection

This commit is contained in:
Lynix
2019-10-15 18:09:34 +02:00
parent 62023c6af7
commit 9576e2794d
2 changed files with 4 additions and 3 deletions

View File

@@ -39,11 +39,11 @@ namespace Nz
static constexpr std::size_t MaxValue = static_cast<std::size_t>(EnumAsFlags<E>::max);
using BitField16 = std::conditional_t<(MaxValue > 8), UInt16, UInt8>;
using BitField32 = std::conditional_t<(MaxValue > 16), UInt32, BitField16>;
using BitField16 = std::conditional_t<(MaxValue >= 8), UInt16, UInt8>;
using BitField32 = std::conditional_t<(MaxValue >= 16), UInt32, BitField16>;
public:
using BitField = std::conditional_t<(MaxValue > 32), UInt64, BitField32>;
using BitField = std::conditional_t<(MaxValue >= 32), UInt64, BitField32>;
constexpr Flags(BitField value = 0);
constexpr Flags(E enumVal);