From e586698fb684e09cb17982f7c6039c77ccf9896c Mon Sep 17 00:00:00 2001 From: Patrick Wuttke Date: Mon, 10 Jun 2024 23:11:54 +0200 Subject: [PATCH] Added bits_t member to BitFlags and is_bitflags_v helper constant. --- source/mijin/util/bitflags.hpp | 5 +++++ 1 file changed, 5 insertions(+) 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 //