diff options
author | Thaddeus Crews <repiteo@outlook.com> | 2024-03-28 09:56:02 -0500 |
---|---|---|
committer | Thaddeus Crews <repiteo@outlook.com> | 2024-04-04 08:54:11 -0500 |
commit | b0cda1f85f4af136db64edfdc6a7ab279bdab2f4 (patch) | |
tree | 337d0c8866bb558ec3f2a2a3830b6421d7cfcef1 /core/variant | |
parent | 7a42afbba050822a66ea5b4c620f6db1b98c49af (diff) | |
download | redot-engine-b0cda1f85f4af136db64edfdc6a7ab279bdab2f4.tar.gz |
Core: Use fixed-width integer types in Variant
Diffstat (limited to 'core/variant')
-rw-r--r-- | core/variant/variant.cpp | 119 | ||||
-rw-r--r-- | core/variant/variant.h | 37 |
2 files changed, 46 insertions, 110 deletions
diff --git a/core/variant/variant.cpp b/core/variant/variant.cpp index 89c22c05dd..155a5b2781 100644 --- a/core/variant/variant.cpp +++ b/core/variant/variant.cpp @@ -1417,7 +1417,7 @@ void Variant::_clear_internal() { } } -Variant::operator signed int() const { +Variant::operator int64_t() const { switch (type) { case NIL: return 0; @@ -1435,7 +1435,7 @@ Variant::operator signed int() const { } } -Variant::operator unsigned int() const { +Variant::operator int32_t() const { switch (type) { case NIL: return 0; @@ -1453,7 +1453,7 @@ Variant::operator unsigned int() const { } } -Variant::operator int64_t() const { +Variant::operator int16_t() const { switch (type) { case NIL: return 0; @@ -1471,7 +1471,7 @@ Variant::operator int64_t() const { } } -Variant::operator uint64_t() const { +Variant::operator int8_t() const { switch (type) { case NIL: return 0; @@ -1489,18 +1489,7 @@ Variant::operator uint64_t() const { } } -Variant::operator ObjectID() const { - if (type == INT) { - return ObjectID(_data._int); - } else if (type == OBJECT) { - return _get_obj().id; - } else { - return ObjectID(); - } -} - -#ifdef NEED_LONG_INT -Variant::operator signed long() const { +Variant::operator uint64_t() const { switch (type) { case NIL: return 0; @@ -1516,11 +1505,9 @@ Variant::operator signed long() const { return 0; } } - - return 0; } -Variant::operator unsigned long() const { +Variant::operator uint32_t() const { switch (type) { case NIL: return 0; @@ -1536,12 +1523,9 @@ Variant::operator unsigned long() const { return 0; } } - - return 0; } -#endif -Variant::operator signed short() const { +Variant::operator uint16_t() const { switch (type) { case NIL: return 0; @@ -1559,7 +1543,7 @@ Variant::operator signed short() const { } } -Variant::operator unsigned short() const { +Variant::operator uint8_t() const { switch (type) { case NIL: return 0; @@ -1577,44 +1561,18 @@ Variant::operator unsigned short() const { } } -Variant::operator signed char() const { - switch (type) { - case NIL: - return 0; - case BOOL: - return _data._bool ? 1 : 0; - case INT: - return _data._int; - case FLOAT: - return _data._float; - case STRING: - return operator String().to_int(); - default: { - return 0; - } - } -} - -Variant::operator unsigned char() const { - switch (type) { - case NIL: - return 0; - case BOOL: - return _data._bool ? 1 : 0; - case INT: - return _data._int; - case FLOAT: - return _data._float; - case STRING: - return operator String().to_int(); - default: { - return 0; - } +Variant::operator ObjectID() const { + if (type == INT) { + return ObjectID(_data._int); + } else if (type == OBJECT) { + return _get_obj().id; + } else { + return ObjectID(); } } Variant::operator char32_t() const { - return operator unsigned int(); + return operator uint32_t(); } Variant::operator float() const { @@ -2420,57 +2378,44 @@ Variant::Variant(bool p_bool) { _data._bool = p_bool; } -Variant::Variant(signed int p_int) { +Variant::Variant(int64_t p_int64) { type = INT; - _data._int = p_int; + _data._int = p_int64; } -Variant::Variant(unsigned int p_int) { +Variant::Variant(int32_t p_int32) { type = INT; - _data._int = p_int; + _data._int = p_int32; } -#ifdef NEED_LONG_INT - -Variant::Variant(signed long p_int) { - type = INT; - _data._int = p_int; -} - -Variant::Variant(unsigned long p_int) { - type = INT; - _data._int = p_int; -} -#endif - -Variant::Variant(int64_t p_int) { +Variant::Variant(int16_t p_int16) { type = INT; - _data._int = p_int; + _data._int = p_int16; } -Variant::Variant(uint64_t p_int) { +Variant::Variant(int8_t p_int8) { type = INT; - _data._int = p_int; + _data._int = p_int8; } -Variant::Variant(signed short p_short) { +Variant::Variant(uint64_t p_uint64) { type = INT; - _data._int = p_short; + _data._int = p_uint64; } -Variant::Variant(unsigned short p_short) { +Variant::Variant(uint32_t p_uint32) { type = INT; - _data._int = p_short; + _data._int = p_uint32; } -Variant::Variant(signed char p_char) { +Variant::Variant(uint16_t p_uint16) { type = INT; - _data._int = p_char; + _data._int = p_uint16; } -Variant::Variant(unsigned char p_char) { +Variant::Variant(uint8_t p_uint8) { type = INT; - _data._int = p_char; + _data._int = p_uint8; } Variant::Variant(float p_float) { diff --git a/core/variant/variant.h b/core/variant/variant.h index e8eec8171b..fc4030ac5a 100644 --- a/core/variant/variant.h +++ b/core/variant/variant.h @@ -355,19 +355,14 @@ public: const Variant &operator[](const Variant &p_key) const = delete; operator bool() const; - operator signed int() const; - operator unsigned int() const; // this is the real one - operator signed short() const; - operator unsigned short() const; - operator signed char() const; - operator unsigned char() const; - //operator long unsigned int() const; operator int64_t() const; + operator int32_t() const; + operator int16_t() const; + operator int8_t() const; operator uint64_t() const; -#ifdef NEED_LONG_INT - operator signed long() const; - operator unsigned long() const; -#endif + operator uint32_t() const; + operator uint16_t() const; + operator uint8_t() const; operator ObjectID() const; @@ -430,18 +425,14 @@ public: Object *get_validated_object_with_check(bool &r_previously_freed) const; Variant(bool p_bool); - Variant(signed int p_int); // real one - Variant(unsigned int p_int); -#ifdef NEED_LONG_INT - Variant(signed long p_long); // real one - Variant(unsigned long p_long); -#endif - Variant(signed short p_short); // real one - Variant(unsigned short p_short); - Variant(signed char p_char); // real one - Variant(unsigned char p_char); - Variant(int64_t p_int); // real one - Variant(uint64_t p_int); + Variant(int64_t p_int64); + Variant(int32_t p_int32); + Variant(int16_t p_int16); + Variant(int8_t p_int8); + Variant(uint64_t p_uint64); + Variant(uint32_t p_uint32); + Variant(uint16_t p_uint16); + Variant(uint8_t p_uint8); Variant(float p_float); Variant(double p_double); Variant(const ObjectID &p_id); |