From 791b3f354b378769bffe623b05f1305c91b77101 Mon Sep 17 00:00:00 2001 From: rtk0c Date: Fri, 3 Jun 2022 23:30:01 -0700 Subject: Changeset: 64 [WIP] Rename directories --- source/Common/Enum.hpp | 103 ------------------------------------------------- 1 file changed, 103 deletions(-) delete mode 100644 source/Common/Enum.hpp (limited to 'source/Common/Enum.hpp') diff --git a/source/Common/Enum.hpp b/source/Common/Enum.hpp deleted file mode 100644 index 8ad75ba..0000000 --- a/source/Common/Enum.hpp +++ /dev/null @@ -1,103 +0,0 @@ -#pragma once - -#include -#include - -template -class EnumFlags { -public: - using Enum = TEnum; - using Underlying = std::underlying_type_t; - -private: - Underlying mValue; - -public: - EnumFlags() - : mValue{ 0 } { - } - - EnumFlags(TEnum e) - : mValue{ static_cast(1) << static_cast(e) } { - } - - bool IsSet(EnumFlags mask) const { - return (mValue & mask.mValue) == mask.mValue; - } - - bool IsSet(std::initializer_list enums) { - EnumFlags flags; - for (auto& e : enums) { - flags.mValue |= static_cast(e); - } - return IsSet(flags); - } - - bool IsSetExclusive(EnumFlags mask) const { - return mValue == mask.mValue; - } - - bool IsSetExclusive(std::initializer_list enums) { - EnumFlags flags; - for (auto& e : enums) { - flags.mValue |= static_cast(e); - } - return IsSetExclusive(flags); - } - - void SetOn(EnumFlags mask) { - mValue |= mask.mValue; - } - - void SetOff(EnumFlags mask) { - mValue &= ~mask.mValue; - } - - void Set(EnumFlags mask, bool enabled) { - if (enabled) { - SetOn(mask); - } else { - SetOff(mask); - } - } - - EnumFlags& operator|=(EnumFlags that) { - mValue |= that.mValue; - return *this; - } - - EnumFlags& operator&=(EnumFlags that) { - mValue &= that.mValue; - return *this; - } - - EnumFlags& operator^=(EnumFlags that) { - mValue ^= that.mValue; - return *this; - } - - EnumFlags& operator|=(TEnum e) { - mValue |= 1 << static_cast(e); - return *this; - } - - EnumFlags& operator&=(TEnum e) { - mValue &= 1 << static_cast(e); - return *this; - } - - EnumFlags& operator^=(TEnum e) { - mValue ^= 1 << static_cast(e); - return *this; - } - - EnumFlags operator|(EnumFlags that) const { return EnumFlags(mValue | that.mValue); } - EnumFlags operator&(EnumFlags that) const { return EnumFlags(mValue & that.mValue); } - EnumFlags operator^(EnumFlags that) const { return EnumFlags(mValue ^ that.mValue); } - - EnumFlags operator|(TEnum e) const { return EnumFlags(mValue | 1 << static_cast(e)); } - EnumFlags operator&(TEnum e) const { return EnumFlags(mValue & 1 << static_cast(e)); } - EnumFlags operator^(TEnum e) const { return EnumFlags(mValue ^ 1 << static_cast(e)); } - - EnumFlags operator~() const { return EnumFlags(~mValue); } -}; -- cgit v1.2.3-70-g09d2