summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Snopek <dsnopek@gmail.com>2023-11-15 09:07:48 -0600
committerGitHub <noreply@github.com>2023-11-15 09:07:48 -0600
commitc4b7b08c917e4dd41e4a53d28660b7358e60d7b1 (patch)
tree5b99bb6c66795e39282a0400075c300271dd4daf
parent9d528c30eea921aeebcfc21ff4471a419c75a87d (diff)
parentbcac96c8c272d9d4c60fb781974e80db1cb19527 (diff)
downloadredot-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.hpp14
-rw-r--r--src/variant/variant.cpp16
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());