|
@@ -287,14 +287,17 @@ class BitField {
|
|
|
int64_t value = 0;
|
|
|
|
|
|
public:
|
|
|
- _FORCE_INLINE_ void set_flag(T p_flag) { value |= (int64_t)p_flag; }
|
|
|
+ _FORCE_INLINE_ BitField<T> &set_flag(T p_flag) {
|
|
|
+ value |= (int64_t)p_flag;
|
|
|
+ return *this;
|
|
|
+ }
|
|
|
_FORCE_INLINE_ bool has_flag(T p_flag) const { return value & (int64_t)p_flag; }
|
|
|
_FORCE_INLINE_ bool is_empty() const { return value == 0; }
|
|
|
_FORCE_INLINE_ void clear_flag(T p_flag) { value &= ~(int64_t)p_flag; }
|
|
|
_FORCE_INLINE_ void clear() { value = 0; }
|
|
|
- _FORCE_INLINE_ BitField() = default;
|
|
|
- _FORCE_INLINE_ BitField(int64_t p_value) { value = p_value; }
|
|
|
- _FORCE_INLINE_ BitField(T p_value) { value = (int64_t)p_value; }
|
|
|
+ _FORCE_INLINE_ constexpr BitField() = default;
|
|
|
+ _FORCE_INLINE_ constexpr BitField(int64_t p_value) { value = p_value; }
|
|
|
+ _FORCE_INLINE_ constexpr BitField(T p_value) { value = (int64_t)p_value; }
|
|
|
_FORCE_INLINE_ operator int64_t() const { return value; }
|
|
|
_FORCE_INLINE_ operator Variant() const { return value; }
|
|
|
};
|