summaryrefslogtreecommitdiffhomepage
path: root/compat/enum-bitset.hpp
diff options
context:
space:
mode:
authorStanislaw Halik <sthalik@misaki.pl>2022-10-31 21:41:46 +0100
committerStanislaw Halik <sthalik@misaki.pl>2022-10-31 21:41:46 +0100
commit4accaa62047f27bcf1ea28e1e68db33e50c335df (patch)
treea591529bce4fcb7b31164363a435fdca6dadb443 /compat/enum-bitset.hpp
parent089f188a5b68c87f2be32b465624841fd3c2b44f (diff)
a
Diffstat (limited to 'compat/enum-bitset.hpp')
-rw-r--r--compat/enum-bitset.hpp6
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)}); }