summaryrefslogtreecommitdiff
path: root/src/flags.hh
diff options
context:
space:
mode:
authorMaxime Coste <mawww@kakoune.org>2017-10-02 22:34:15 +0800
committerMaxime Coste <mawww@kakoune.org>2017-10-06 13:48:01 +0800
commit30ab43777722d89df939e9c9b469744dc99b2bab (patch)
tree9b766102242e4cb99efa0eb06e5aebb08b09c5c2 /src/flags.hh
parent75d2eb2b79856800f322b486aab3d244c66569a1 (diff)
Add more constexpr to flags wrapping functions
Diffstat (limited to 'src/flags.hh')
-rw-r--r--src/flags.hh10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/flags.hh b/src/flags.hh
index 7b05b5a5..6b701016 100644
--- a/src/flags.hh
+++ b/src/flags.hh
@@ -27,7 +27,7 @@ constexpr Flags operator|(Flags lhs, Flags rhs)
}
template<typename Flags, typename = EnableIfWithBitOps<Flags>>
-Flags& operator|=(Flags& lhs, Flags rhs)
+constexpr Flags& operator|=(Flags& lhs, Flags rhs)
{
(UnderlyingType<Flags>&) lhs |= (UnderlyingType<Flags>) rhs;
return lhs;
@@ -41,8 +41,8 @@ struct TestableFlags
constexpr operator Flags() const { return value; }
constexpr operator UnderlyingType<Flags>() const { return (UnderlyingType<Flags>)value; }
- bool operator==(const TestableFlags<Flags>& other) const { return value == other.value; }
- bool operator!=(const TestableFlags<Flags>& other) const { return value != other.value; }
+ constexpr bool operator==(const TestableFlags<Flags>& other) const { return value == other.value; }
+ constexpr bool operator!=(const TestableFlags<Flags>& other) const { return value != other.value; }
};
template<typename Flags, typename = EnableIfWithBitOps<Flags>>
@@ -52,7 +52,7 @@ constexpr TestableFlags<Flags> operator&(Flags lhs, Flags rhs)
}
template<typename Flags, typename = EnableIfWithBitOps<Flags>>
-Flags& operator&=(Flags& lhs, Flags rhs)
+constexpr Flags& operator&=(Flags& lhs, Flags rhs)
{
(UnderlyingType<Flags>&) lhs &= (UnderlyingType<Flags>) rhs;
return lhs;
@@ -71,7 +71,7 @@ constexpr Flags operator^(Flags lhs, Flags rhs)
}
template<typename Flags, typename = EnableIfWithBitOps<Flags>>
-Flags& operator^=(Flags& lhs, Flags rhs)
+constexpr Flags& operator^=(Flags& lhs, Flags rhs)
{
(UnderlyingType<Flags>&) lhs ^= (UnderlyingType<Flags>) rhs;
return lhs;