diff options
author | David Snopek <dsnopek@gmail.com> | 2023-11-15 09:07:48 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-11-15 09:07:48 -0600 |
commit | c4b7b08c917e4dd41e4a53d28660b7358e60d7b1 (patch) | |
tree | 5b99bb6c66795e39282a0400075c300271dd4daf | |
parent | 9d528c30eea921aeebcfc21ff4471a419c75a87d (diff) | |
parent | bcac96c8c272d9d4c60fb781974e80db1cb19527 (diff) | |
download | redot-cpp-c4b7b08c917e4dd41e4a53d28660b7358e60d7b1.tar.gz |
Merge pull request #1298 from Repiteo/int-to-variant-fix
Add missing int→Variant conversions
-rw-r--r-- | include/godot_cpp/variant/variant.hpp | 14 | ||||
-rw-r--r-- | src/variant/variant.cpp | 16 |
2 files changed, 29 insertions, 1 deletions
diff --git a/include/godot_cpp/variant/variant.hpp b/include/godot_cpp/variant/variant.hpp index 3e8738c..fc41014 100644 --- a/include/godot_cpp/variant/variant.hpp +++ b/include/godot_cpp/variant/variant.hpp @@ -154,10 +154,18 @@ public: Variant(int64_t v); Variant(int32_t v) : Variant(static_cast<int64_t>(v)) {} - Variant(uint32_t v) : + Variant(int16_t v) : + Variant(static_cast<int64_t>(v)) {} + Variant(int8_t v) : Variant(static_cast<int64_t>(v)) {} Variant(uint64_t v) : Variant(static_cast<int64_t>(v)) {} + Variant(uint32_t v) : + Variant(static_cast<int64_t>(v)) {} + Variant(uint16_t v) : + Variant(static_cast<int64_t>(v)) {} + Variant(uint8_t v) : + Variant(static_cast<int64_t>(v)) {} Variant(double v); Variant(float v) : Variant((double)v) {} @@ -209,8 +217,12 @@ public: operator bool() const; operator int64_t() const; operator int32_t() const; + operator int16_t() const; + operator int8_t() const; operator uint64_t() const; operator uint32_t() const; + operator uint16_t() const; + operator uint8_t() const; operator double() const; operator float() const; operator String() const; diff --git a/src/variant/variant.cpp b/src/variant/variant.cpp index db15be1..945d6f4 100644 --- a/src/variant/variant.cpp +++ b/src/variant/variant.cpp @@ -268,6 +268,14 @@ Variant::operator int32_t() const { return static_cast<int32_t>(operator int64_t()); } +Variant::operator int16_t() const { + return static_cast<int16_t>(operator int64_t()); +} + +Variant::operator int8_t() const { + return static_cast<int8_t>(operator int64_t()); +} + Variant::operator uint64_t() const { return static_cast<uint64_t>(operator int64_t()); } @@ -276,6 +284,14 @@ Variant::operator uint32_t() const { return static_cast<uint32_t>(operator int64_t()); } +Variant::operator uint16_t() const { + return static_cast<uint16_t>(operator int64_t()); +} + +Variant::operator uint8_t() const { + return static_cast<uint8_t>(operator int64_t()); +} + Variant::operator double() const { double result; to_type_constructor[FLOAT](&result, _native_ptr()); |