mirror of
https://github.com/godotengine/godot.git
synced 2024-09-21 15:02:28 +00:00
BitField: allow chained set_flag(), make constructors constexpr
This commit is contained in:
parent
f8a2a91936
commit
fec76d0c22
|
@ -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; }
|
||||
};
|
||||
|
|
Loading…
Reference in New Issue
Block a user