From a363ae312fc951ba3b9e06e7e67a32bc05e6e879 Mon Sep 17 00:00:00 2001 From: Lynix Date: Fri, 3 Aug 2018 20:26:44 +0200 Subject: [PATCH] Core/Flags: Make operators |= &= and ^= constexpr --- ChangeLog.md | 3 +++ include/Nazara/Core/Flags.hpp | 6 +++--- include/Nazara/Core/Flags.inl | 6 +++--- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/ChangeLog.md b/ChangeLog.md index 8514bbf26..7eb3ce88c 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -130,6 +130,9 @@ Nazara Engine: - Fixed bug where index wouldn't be used in String::FindLast and String::FindWord - Physics 2D contact callbacks now include an arbiter allowing to query/set parameters about the collision - Added movement with Ctrl in TextAreaWidget +- Added Unicode Data downloader/parser +- Integrated Unicode Data +- Fixed Flags operator |=/&=/^= not being constexpr Nazara Development Kit: - Added ImageWidget (#139) diff --git a/include/Nazara/Core/Flags.hpp b/include/Nazara/Core/Flags.hpp index 92c97de9e..189ec5c9c 100644 --- a/include/Nazara/Core/Flags.hpp +++ b/include/Nazara/Core/Flags.hpp @@ -61,9 +61,9 @@ namespace Nz constexpr bool operator==(const Flags& rhs) const; constexpr bool operator!=(const Flags& rhs) const; - /*constexpr*/ Flags& operator|=(const Flags& rhs); - /*constexpr*/ Flags& operator&=(const Flags& rhs); - /*constexpr*/ Flags& operator^=(const Flags& rhs); + constexpr Flags& operator|=(const Flags& rhs); + constexpr Flags& operator&=(const Flags& rhs); + constexpr Flags& operator^=(const Flags& rhs); static constexpr BitField GetFlagValue(E enumValue); diff --git a/include/Nazara/Core/Flags.inl b/include/Nazara/Core/Flags.inl index 2b57a59a8..f74ae2169 100644 --- a/include/Nazara/Core/Flags.inl +++ b/include/Nazara/Core/Flags.inl @@ -166,7 +166,7 @@ namespace Nz * This will enable flags which are enabled in parameter object and not in Flag object. */ template - /*constexpr*/ Flags& Flags::operator|=(const Flags& rhs) + constexpr Flags& Flags::operator|=(const Flags& rhs) { m_value |= rhs.m_value; @@ -182,7 +182,7 @@ namespace Nz * This will disable flags which are disabled in parameter object and enabled in Flag object (and vice-versa). */ template - /*constexpr*/ Flags& Flags::operator&=(const Flags& rhs) + constexpr Flags& Flags::operator&=(const Flags& rhs) { m_value &= rhs.m_value; @@ -199,7 +199,7 @@ namespace Nz * This will disable flags enabled in both Flags objects and enable those enabled in only one of the Flags objects. */ template - /*constexpr*/ Flags& Flags::operator^=(const Flags& rhs) + constexpr Flags& Flags::operator^=(const Flags& rhs) { m_value ^= rhs.m_value; m_value &= ValueMask;