diff --git a/source/mijin/util/bitflags.hpp b/source/mijin/util/bitflags.hpp index 986c7fa..7ffae72 100644 --- a/source/mijin/util/bitflags.hpp +++ b/source/mijin/util/bitflags.hpp @@ -25,6 +25,8 @@ namespace mijin template struct BitFlags { + using bits_t = TBits; + constexpr TBits& operator |=(const BitFlags& other) { for (std::size_t idx = 0; idx < sizeof(TBits); ++idx) { *(std::bit_cast(asBits()) + idx) |= *(std::bit_cast(other.asBits()) + idx); @@ -83,6 +85,9 @@ private: constexpr const TBits* asBits() const { return static_cast(this); } }; +template +constexpr bool is_bitflags_v = std::is_base_of_v, T>; + // // public functions //