diff options
Diffstat (limited to 'compat/enum-bitset.hpp')
-rw-r--r-- | compat/enum-bitset.hpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/compat/enum-bitset.hpp b/compat/enum-bitset.hpp index 0a1f91e4..ccf76434 100644 --- a/compat/enum-bitset.hpp +++ b/compat/enum-bitset.hpp @@ -3,13 +3,13 @@ namespace floormat { -template<typename Enum> +template<typename Enum, Enum COUNT_ = Enum::COUNT> requires (std::is_enum_v<Enum> && std::is_same_v<std::size_t, std::common_type_t<std::size_t, std::underlying_type_t<Enum>>>) -struct enum_bitset : std::bitset<std::size_t(Enum::COUNT)> { +struct enum_bitset : std::bitset<std::size_t(COUNT_)> { using enum_type = Enum; using value_type = std::underlying_type_t<enum_type>; - static constexpr auto COUNT = std::size_t{value_type(Enum::COUNT)}; + static constexpr auto COUNT = std::size_t{value_type(COUNT_)}; using std::bitset<COUNT>::bitset; constexpr bool operator[](Enum x) const { return std::bitset<COUNT>::operator[](std::size_t{value_type(x)}); } |