From 766909047b6873b5af3f9aa98c6ed8cd53c6cc54 Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Fri, 7 Oct 2022 22:00:01 +0200 Subject: a --- compat/enum-bitset.hpp | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 compat/enum-bitset.hpp (limited to 'compat') diff --git a/compat/enum-bitset.hpp b/compat/enum-bitset.hpp new file mode 100644 index 00000000..bf705138 --- /dev/null +++ b/compat/enum-bitset.hpp @@ -0,0 +1,17 @@ +#pragma once +#include + +namespace Magnum::Examples { + +template +struct enum_bitset : std::bitset<(std::size_t)Enum::MAX> { + static_assert(std::is_same_v>>); + static_assert(std::is_same_v>); + using std::bitset<(std::size_t)Enum::MAX>::bitset; + constexpr bool operator[](Enum x) const { return operator[]((std::size_t)x); } + constexpr decltype(auto) operator[](Enum x) { + return std::bitset<(std::size_t)Enum::MAX>::operator[]((std::size_t)x); + } +}; + +} // namespace Magnum::Examples -- cgit v1.2.3