summaryrefslogtreecommitdiffstats
path: root/src/variant
diff options
context:
space:
mode:
authorThaddeus Crews <repiteo@outlook.com>2023-07-03 12:51:54 -0500
committerThaddeus Crews <repiteo@outlook.com>2024-09-17 15:05:16 -0500
commit2ffff669f557351e85423e9edbc7a0e6520b613e (patch)
tree85ff6ff1553236ced07b7d6a71a0b13ebe63508c /src/variant
parent730ccaae392c5838b8907b3cedd56b19be6b6d8c (diff)
downloadredot-cpp-2ffff669f557351e85423e9edbc7a0e6520b613e.tar.gz
Implement typed dictionaries
Diffstat (limited to 'src/variant')
-rw-r--r--src/variant/packed_arrays.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/variant/packed_arrays.cpp b/src/variant/packed_arrays.cpp
index 4384f7a..8fe8a73 100644
--- a/src/variant/packed_arrays.cpp
+++ b/src/variant/packed_arrays.cpp
@@ -246,4 +246,10 @@ Variant &Dictionary::operator[](const Variant &p_key) {
return *var;
}
+void Dictionary::set_typed(uint32_t p_key_type, const StringName &p_key_class_name, const Variant &p_key_script, uint32_t p_value_type, const StringName &p_value_class_name, const Variant &p_value_script) {
+ // p_key_type/p_value_type are not Variant::Type so that header doesn't depend on <variant.hpp>.
+ internal::gdextension_interface_dictionary_set_typed((GDExtensionTypePtr *)this, (GDExtensionVariantType)p_key_type, (GDExtensionConstStringNamePtr)&p_key_class_name, (GDExtensionConstVariantPtr)&p_key_script,
+ (GDExtensionVariantType)p_value_type, (GDExtensionConstStringNamePtr)&p_value_class_name, (GDExtensionConstVariantPtr)&p_value_script);
+}
+
} // namespace godot