summaryrefslogtreecommitdiffstats
path: root/src/variant/packed_arrays.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/variant/packed_arrays.cpp')
-rw-r--r--src/variant/packed_arrays.cpp97
1 files changed, 97 insertions, 0 deletions
diff --git a/src/variant/packed_arrays.cpp b/src/variant/packed_arrays.cpp
new file mode 100644
index 0000000..e3cfeab
--- /dev/null
+++ b/src/variant/packed_arrays.cpp
@@ -0,0 +1,97 @@
+// extra functions for packed arrays
+
+#include <godot_cpp/godot.hpp>
+
+#include <godot_cpp/variant/packed_byte_array.hpp>
+#include <godot_cpp/variant/packed_color_array.hpp>
+#include <godot_cpp/variant/packed_float32_array.hpp>
+#include <godot_cpp/variant/packed_float64_array.hpp>
+#include <godot_cpp/variant/packed_int32_array.hpp>
+#include <godot_cpp/variant/packed_int64_array.hpp>
+#include <godot_cpp/variant/packed_string_array.hpp>
+#include <godot_cpp/variant/packed_vector2_array.hpp>
+#include <godot_cpp/variant/packed_vector3_array.hpp>
+
+namespace godot {
+
+const uint8_t &PackedByteArray::operator[](int p_index) const {
+ return *internal::interface->packed_byte_array_operator_index_const((GDNativeTypePtr *)this, p_index);
+}
+
+uint8_t &PackedByteArray::operator[](int p_index) {
+ return *internal::interface->packed_byte_array_operator_index((GDNativeTypePtr *)this, p_index);
+}
+
+const Color &PackedColorArray::operator[](int p_index) const {
+ const Color *color = (const Color *) internal::interface->packed_color_array_operator_index_const((GDNativeTypePtr *)this, p_index);
+ return *color;
+}
+
+Color &PackedColorArray::operator[](int p_index) {
+ Color *color = (Color *) internal::interface->packed_color_array_operator_index((GDNativeTypePtr *)this, p_index);
+ return *color;
+}
+
+const float &PackedFloat32Array::operator[](int p_index) const {
+ return *internal::interface->packed_float32_array_operator_index_const((GDNativeTypePtr *)this, p_index);
+}
+
+float &PackedFloat32Array::operator[](int p_index) {
+ return *internal::interface->packed_float32_array_operator_index((GDNativeTypePtr *)this, p_index);
+}
+
+const double &PackedFloat64Array::operator[](int p_index) const {
+ return *internal::interface->packed_float64_array_operator_index_const((GDNativeTypePtr *)this, p_index);
+}
+
+double &PackedFloat64Array::operator[](int p_index) {
+ return *internal::interface->packed_float64_array_operator_index((GDNativeTypePtr *)this, p_index);
+}
+
+const int32_t &PackedInt32Array::operator[](int p_index) const {
+ return *internal::interface->packed_int32_array_operator_index_const((GDNativeTypePtr *)this, p_index);
+}
+
+int32_t &PackedInt32Array::operator[](int p_index) {
+ return *internal::interface->packed_int32_array_operator_index((GDNativeTypePtr *)this, p_index);
+}
+
+const int64_t &PackedInt64Array::operator[](int p_index) const {
+ return *internal::interface->packed_int64_array_operator_index_const((GDNativeTypePtr *)this, p_index);
+}
+
+int64_t &PackedInt64Array::operator[](int p_index) {
+ return *internal::interface->packed_int64_array_operator_index((GDNativeTypePtr *)this, p_index);
+}
+
+const String &PackedStringArray::operator[](int p_index) const {
+ const String *string = (const String *) internal::interface->packed_string_array_operator_index_const((GDNativeTypePtr *)this, p_index);
+ return *string;
+}
+
+String &PackedStringArray::operator[](int p_index) {
+ String *string = (String *) internal::interface->packed_string_array_operator_index((GDNativeTypePtr *)this, p_index);
+ return *string;
+}
+
+const Vector2 &PackedVector2Array::operator[](int p_index) const {
+ const Vector2 *vec = (const Vector2 *) internal::interface->packed_vector2_array_operator_index_const((GDNativeTypePtr *)this, p_index);
+ return *vec;
+}
+
+Vector2 &PackedVector2Array::operator[](int p_index) {
+ Vector2 *vec = (Vector2 *) internal::interface->packed_vector2_array_operator_index((GDNativeTypePtr *)this, p_index);
+ return *vec;
+}
+
+const Vector3 &PackedVector3Array::operator[](int p_index) const {
+ const Vector3 *vec = (const Vector3 *) internal::interface->packed_vector3_array_operator_index_const((GDNativeTypePtr *)this, p_index);
+ return *vec;
+}
+
+Vector3 &PackedVector3Array::operator[](int p_index) {
+ Vector3 *vec = (Vector3 *) internal::interface->packed_vector3_array_operator_index((GDNativeTypePtr *)this, p_index);
+ return *vec;
+}
+
+} // namespace godot