diff options
author | bunnei <bunneidev@gmail.com> | 2018-04-05 21:44:22 -0400 |
---|---|---|
committer | bunnei <bunneidev@gmail.com> | 2018-04-13 23:48:18 -0400 |
commit | 0315fe8c3dc8cb267284b061a20b85c09cd5d98b (patch) | |
tree | b6e88efcdab7a6752838d974b3f9e66ae94c2874 /src/common/bit_field.h | |
parent | c6ab2c94d9fd7e82d780e0598bfe8c982661d1aa (diff) |
bit_field: Make all methods constexpr.
Diffstat (limited to 'src/common/bit_field.h')
-rw-r--r-- | src/common/bit_field.h | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/common/bit_field.h b/src/common/bit_field.h index 0cc0a1be05..5638bdbba2 100644 --- a/src/common/bit_field.h +++ b/src/common/bit_field.h @@ -115,7 +115,7 @@ private: // assignment would copy the full storage value, rather than just the bits // relevant to this particular bit field. // We don't delete it because we want BitField to be trivially copyable. - BitField& operator=(const BitField&) = default; + constexpr BitField& operator=(const BitField&) = default; // StorageType is T for non-enum types and the underlying type of T if // T is an enumeration. Note that T is wrapped within an enable_if in the @@ -166,20 +166,20 @@ public: // so that we can use this within unions constexpr BitField() = default; - FORCE_INLINE operator T() const { + constexpr FORCE_INLINE operator T() const { return Value(); } - FORCE_INLINE void Assign(const T& value) { + constexpr FORCE_INLINE void Assign(const T& value) { storage = (storage & ~mask) | FormatValue(value); } - FORCE_INLINE T Value() const { + constexpr T Value() const { return ExtractValue(storage); } // TODO: we may want to change this to explicit operator bool() if it's bug-free in VS2015 - FORCE_INLINE bool ToBool() const { + constexpr FORCE_INLINE bool ToBool() const { return Value() != 0; } |