feat: modules moved and engine moved to submodule
This commit is contained in:
parent
dfb5e645cd
commit
c33d2130cc
5136 changed files with 225275 additions and 64485 deletions
|
|
@ -28,8 +28,7 @@
|
|||
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
|
||||
/**************************************************************************/
|
||||
|
||||
#ifndef VARIANT_H
|
||||
#define VARIANT_H
|
||||
#pragma once
|
||||
|
||||
#include "core/core_string_names.h"
|
||||
#include "core/input/input_enums.h"
|
||||
|
|
@ -55,6 +54,8 @@
|
|||
#include "core/os/keyboard.h"
|
||||
#include "core/string/node_path.h"
|
||||
#include "core/string/ustring.h"
|
||||
#include "core/templates/bit_field.h"
|
||||
#include "core/templates/list.h"
|
||||
#include "core/templates/paged_allocator.h"
|
||||
#include "core/templates/rid.h"
|
||||
#include "core/variant/array.h"
|
||||
|
|
@ -66,6 +67,8 @@ class RefCounted;
|
|||
|
||||
template <typename T>
|
||||
class Ref;
|
||||
template <typename T>
|
||||
class BitField;
|
||||
|
||||
struct PropertyInfo;
|
||||
struct MethodInfo;
|
||||
|
|
@ -479,12 +482,13 @@ public:
|
|||
operator Vector<Variant>() const;
|
||||
operator Vector<StringName>() const;
|
||||
|
||||
// some core type enums to convert to
|
||||
operator Side() const;
|
||||
operator Orientation() const;
|
||||
|
||||
operator IPAddress() const;
|
||||
|
||||
template <typename T, std::enable_if_t<std::is_enum_v<T>, int> = 0>
|
||||
_FORCE_INLINE_ operator T() const { return static_cast<T>(operator int64_t()); }
|
||||
template <typename T>
|
||||
_FORCE_INLINE_ operator BitField<T>() const { return static_cast<T>(operator uint64_t()); }
|
||||
|
||||
Object *get_validated_object() const;
|
||||
Object *get_validated_object_with_check(bool &r_previously_freed) const;
|
||||
|
||||
|
|
@ -527,6 +531,7 @@ public:
|
|||
Variant(const Signal &p_signal);
|
||||
Variant(const Dictionary &p_dictionary);
|
||||
|
||||
Variant(std::initializer_list<Variant> p_init);
|
||||
Variant(const Array &p_array);
|
||||
Variant(const PackedByteArray &p_byte_array);
|
||||
Variant(const PackedInt32Array &p_int32_array);
|
||||
|
|
@ -547,22 +552,12 @@ public:
|
|||
|
||||
Variant(const IPAddress &p_address);
|
||||
|
||||
#define VARIANT_ENUM_CLASS_CONSTRUCTOR(m_enum) \
|
||||
Variant(m_enum p_value) : \
|
||||
type(INT) { \
|
||||
_data._int = (int64_t)p_value; \
|
||||
}
|
||||
|
||||
// Only enum classes that need to be bound need this to be defined.
|
||||
VARIANT_ENUM_CLASS_CONSTRUCTOR(EulerOrder)
|
||||
VARIANT_ENUM_CLASS_CONSTRUCTOR(JoyAxis)
|
||||
VARIANT_ENUM_CLASS_CONSTRUCTOR(JoyButton)
|
||||
VARIANT_ENUM_CLASS_CONSTRUCTOR(Key)
|
||||
VARIANT_ENUM_CLASS_CONSTRUCTOR(KeyLocation)
|
||||
VARIANT_ENUM_CLASS_CONSTRUCTOR(MIDIMessage)
|
||||
VARIANT_ENUM_CLASS_CONSTRUCTOR(MouseButton)
|
||||
|
||||
#undef VARIANT_ENUM_CLASS_CONSTRUCTOR
|
||||
template <typename T, std::enable_if_t<std::is_enum_v<T>, int> = 0>
|
||||
_FORCE_INLINE_ Variant(T p_enum) :
|
||||
Variant(static_cast<int64_t>(p_enum)) {}
|
||||
template <typename T>
|
||||
_FORCE_INLINE_ Variant(BitField<T> p_bitfield) :
|
||||
Variant(static_cast<uint64_t>(p_bitfield)) {}
|
||||
|
||||
// If this changes the table in variant_op must be updated
|
||||
enum Operator {
|
||||
|
|
@ -910,12 +905,7 @@ struct StringLikeVariantComparator {
|
|||
};
|
||||
|
||||
struct StringLikeVariantOrder {
|
||||
static _ALWAYS_INLINE_ bool compare(const Variant &p_lhs, const Variant &p_rhs) {
|
||||
if (p_lhs.is_string() && p_rhs.is_string()) {
|
||||
return p_lhs.operator String() < p_rhs.operator String();
|
||||
}
|
||||
return p_lhs < p_rhs;
|
||||
}
|
||||
static bool compare(const Variant &p_lhs, const Variant &p_rhs);
|
||||
|
||||
_ALWAYS_INLINE_ bool operator()(const Variant &p_lhs, const Variant &p_rhs) const {
|
||||
return compare(p_lhs, p_rhs);
|
||||
|
|
@ -998,18 +988,10 @@ Array::Iterator &Array::Iterator::operator--() {
|
|||
}
|
||||
|
||||
const Variant &Array::ConstIterator::operator*() const {
|
||||
if (unlikely(read_only)) {
|
||||
*read_only = *element_ptr;
|
||||
return *read_only;
|
||||
}
|
||||
return *element_ptr;
|
||||
}
|
||||
|
||||
const Variant *Array::ConstIterator::operator->() const {
|
||||
if (unlikely(read_only)) {
|
||||
*read_only = *element_ptr;
|
||||
return read_only;
|
||||
}
|
||||
return element_ptr;
|
||||
}
|
||||
|
||||
|
|
@ -1023,4 +1005,6 @@ Array::ConstIterator &Array::ConstIterator::operator--() {
|
|||
return *this;
|
||||
}
|
||||
|
||||
#endif // VARIANT_H
|
||||
// Zero-constructing Variant results in NULL.
|
||||
template <>
|
||||
struct is_zero_constructible<Variant> : std::true_type {};
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue