Skip to content

Commit 0814ad8

Browse files
committed
Update PackedArray docs
1 parent 0d6b25d commit 0814ad8

File tree

2 files changed

+30
-10
lines changed

2 files changed

+30
-10
lines changed

docs/godot_docs/cppapi.md

+20
Original file line numberDiff line numberDiff line change
@@ -1648,6 +1648,14 @@ struct PackedArray {
16481648
/// @param size The size of the data in elements.
16491649
PackedArray(const T *data, size_t size);
16501650
1651+
/// @brief Retrieve the size of the host-side array.
1652+
/// @return size_t The size of the host-side array.
1653+
size_t size() const;
1654+
1655+
/// @brief Check if the host-side array is empty.
1656+
/// @return bool True if the host-side array is empty, false otherwise.
1657+
bool is_empty() const;
1658+
16511659
/// @brief Retrieve the host-side array data.
16521660
/// @return std::vector<T> The host-side array data.
16531661
std::vector<T> fetch() const;
@@ -1665,6 +1673,18 @@ struct PackedArray {
16651673
template <typename... Args>
16661674
Variant operator () (std::string_view method, Args&&... args);
16671675
};
1676+
1677+
// Aliases for common PackedArray types.
1678+
using PackedByteArray = PackedArray<uint8_t>;
1679+
using PackedInt32Array = PackedArray<int32_t>;
1680+
using PackedInt64Array = PackedArray<int64_t>;
1681+
using PackedFloat32Array = PackedArray<float>;
1682+
using PackedFloat64Array = PackedArray<double>;
1683+
using PackedVector2Array = PackedArray<Vector2>;
1684+
using PackedVector3Array = PackedArray<Vector3>;
1685+
using PackedVector4Array = PackedArray<Vector4>;
1686+
using PackedColorArray = PackedArray<Color>;
1687+
using PackedStringArray = PackedArray<std::string>;
16681688
```
16691689

16701690
## Resources

docs/godot_docs/unboxed_arguments.md

+10-10
Original file line numberDiff line numberDiff line change
@@ -43,16 +43,16 @@ When making a function call into a Sandbox program, `sandbox.vmcall("my_function
4343

4444
| Packed Array | GDScript func argument | Unboxed type |
4545
|-----------------------|:------------------------:|:-----------------------:|
46-
| PACKED_BYTE_ARRAY | PackedByteArray(...) | PackedArray\<uint8_t\> |
47-
| PACKED_INT32_ARRAY | PackedInt32Array(...) | PackedArray\<int32_t\> |
48-
| PACKED_INT64_ARRAY | PackedInt64Array(...) | PackedArray\<int64_t\> |
49-
| PACKED_FLOAT32_ARRAY | PackedFloat32Array(...) | PackedArray\<float\> |
50-
| PACKED_FLOAT64_ARRAY | PackedFloat64Array(...) | PackedArray\<double\> |
51-
| PACKED_STRING_ARRAY | PackedStringArray(...) | PackedArray\<std::string\> |
52-
| PACKED_VECTOR2_ARRAY | PackedVector2Array(...) | PackedArray\<Vector2\> |
53-
| PACKED_VECTOR3_ARRAY | PackedVector3Array(...) | PackedArray\<Vector3\> |
54-
| PACKED_COLOR_ARRAY | PackedColorArray(...) | PackedArray\<Color\> |
55-
| PACKED_VECTOR4_ARRAY | PackedVector4Array(...) | PackedArray\<Vector4\> |
46+
| PACKED_BYTE_ARRAY | PackedByteArray(...) | PackedByteArray |
47+
| PACKED_INT32_ARRAY | PackedInt32Array(...) | PackedInt32Array |
48+
| PACKED_INT64_ARRAY | PackedInt64Array(...) | PackedInt64Array |
49+
| PACKED_FLOAT32_ARRAY | PackedFloat32Array(...) | PackedFloat32Array |
50+
| PACKED_FLOAT64_ARRAY | PackedFloat64Array(...) | PackedFloat64Array |
51+
| PACKED_STRING_ARRAY | PackedStringArray(...) | PackedStringArray |
52+
| PACKED_VECTOR2_ARRAY | PackedVector2Array(...) | PackedVector2Array |
53+
| PACKED_VECTOR3_ARRAY | PackedVector3Array(...) | PackedVector3Array |
54+
| PACKED_VECTOR4_ARRAY | PackedVector4Array(...) | PackedVector4Array |
55+
| PACKED_COLOR_ARRAY | PackedColorArray(...) | PackedColorArray |
5656

5757
An astute reader will notice that whenever a wrapper class is not yet implemented, the Variant type is passed unchanged, as a Variant. Variants can use calls, and so even though many are already implemented as wrapper classes, here is an example of how to use *any class* through a Variant:
5858

0 commit comments

Comments
 (0)