diff options
| author | Maxime Coste <mawww@kakoune.org> | 2017-10-02 22:34:15 +0800 |
|---|---|---|
| committer | Maxime Coste <mawww@kakoune.org> | 2017-10-06 13:48:01 +0800 |
| commit | 30ab43777722d89df939e9c9b469744dc99b2bab (patch) | |
| tree | 9b766102242e4cb99efa0eb06e5aebb08b09c5c2 /src | |
| parent | 75d2eb2b79856800f322b486aab3d244c66569a1 (diff) | |
Add more constexpr to flags wrapping functions
Diffstat (limited to 'src')
| -rw-r--r-- | src/flags.hh | 10 |
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; |
