From 57958056d6f79ac276d0f432e39fa9f98b574531 Mon Sep 17 00:00:00 2001 From: Lynix Date: Sat, 9 Nov 2019 13:53:29 +0100 Subject: [PATCH] Core/Flags: Add Set method --- ChangeLog.md | 1 + include/Nazara/Core/Flags.hpp | 2 ++ include/Nazara/Core/Flags.inl | 14 ++++++++++++++ 3 files changed, 17 insertions(+) diff --git a/ChangeLog.md b/ChangeLog.md index 186e1be04..c378f942c 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -199,6 +199,7 @@ Nazara Engine: - Fixed out-of-bounds access in LuaInstance::LoadLibraries - Add Flags::Clear(Flags) helper method, to clear one or more flags. - Add Flags::Clear() helper method, to reset flags +- Add Flags::Set(Flags) helper method, to enable flags Nazara Development Kit: - Added ImageWidget (#139) diff --git a/include/Nazara/Core/Flags.hpp b/include/Nazara/Core/Flags.hpp index c2e2dc8db..3fa7d2741 100644 --- a/include/Nazara/Core/Flags.hpp +++ b/include/Nazara/Core/Flags.hpp @@ -51,6 +51,8 @@ namespace Nz void Clear(); void Clear(const Flags& flags); + void Set(const Flags& flags); + constexpr bool Test(const Flags& flags) const; explicit constexpr operator bool() const; diff --git a/include/Nazara/Core/Flags.inl b/include/Nazara/Core/Flags.inl index b3db17e47..856c14f63 100644 --- a/include/Nazara/Core/Flags.inl +++ b/include/Nazara/Core/Flags.inl @@ -63,6 +63,20 @@ namespace Nz m_value &= ~flags; } + /*! + * \brief Enable some flags + * + * \param flags Flags to be enabled + * + * \see Clear + * \see Test + */ + template + void Flags::Set(const Flags& flags) + { + m_value |= flags; + } + /*! * \brief Tests if all flags from a Flags object are enabled * \return True if all tested flags are enabled.