123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696 |
- #ifndef POOLARRAYS_H
- #define POOLARRAYS_H
- #include "Defs.hpp"
- #include "String.hpp"
- #include "Color.hpp"
- #include "Vector2.hpp"
- #include "Vector3.hpp"
- #include "GodotGlobal.hpp"
- #include <gdnative/pool_arrays.h>
- namespace godot {
- class Array;
- class PoolByteArray {
- godot_pool_byte_array _godot_array;
- public:
- class Read {
- friend class PoolByteArray;
- godot_pool_byte_array_read_access *_read_access;
- public:
- inline Read() {
- _read_access = nullptr;
- }
- inline Read(const Read & p_other) {
- _read_access = godot::api->godot_pool_byte_array_read_access_copy(p_other._read_access);
- }
- inline ~Read() {
- godot::api->godot_pool_byte_array_read_access_destroy(_read_access);
- }
- inline const uint8_t *ptr() const {
- return godot::api->godot_pool_byte_array_read_access_ptr(_read_access);
- }
- inline const uint8_t &operator[](int p_idx) const {
- return ptr()[p_idx];
- }
- inline void operator=(const Read& p_other) {
- godot::api->godot_pool_byte_array_read_access_operator_assign(_read_access, p_other._read_access);
- }
- };
- class Write {
- friend class PoolByteArray;
- godot_pool_byte_array_write_access *_write_access;
- public:
- inline Write() {
- _write_access = nullptr;
- }
- inline Write(const Write & p_other) {
- _write_access = godot::api->godot_pool_byte_array_write_access_copy(p_other._write_access);
- }
- inline ~Write() {
- godot::api->godot_pool_byte_array_write_access_destroy(_write_access);
- }
- inline uint8_t *ptr() const {
- return godot::api->godot_pool_byte_array_write_access_ptr(_write_access);
- }
- inline uint8_t &operator[](int p_idx) const {
- return ptr()[p_idx];
- }
- inline void operator=(const Write& p_other) {
- godot::api->godot_pool_byte_array_write_access_operator_assign(_write_access, p_other._write_access);
- }
- };
- PoolByteArray();
- PoolByteArray(const PoolByteArray &p_other);
- PoolByteArray &operator=(const PoolByteArray & p_other);
- PoolByteArray(const Array& array);
- Read read() const;
- Write write();
- void append(const uint8_t data);
- void append_array(const PoolByteArray& array);
- int insert(const int idx, const uint8_t data);
- void invert();
- void push_back(const uint8_t data);
- void remove(const int idx);
- void resize(const int size);
- void set(const int idx, const uint8_t data);
- const uint8_t operator [](const int idx);
- int size() const;
- ~PoolByteArray();
- };
- class PoolIntArray {
- godot_pool_int_array _godot_array;
- public:
- class Read {
- friend class PoolIntArray;
- godot_pool_int_array_read_access *_read_access;
- public:
- inline Read() {
- _read_access = nullptr;
- }
- inline Read(const Read & p_other) {
- _read_access = godot::api->godot_pool_int_array_read_access_copy(p_other._read_access);
- }
- inline ~Read() {
- godot::api->godot_pool_int_array_read_access_destroy(_read_access);
- }
- inline const int *ptr() const {
- return godot::api->godot_pool_int_array_read_access_ptr(_read_access);
- }
- inline const int &operator[](int p_idx) const {
- return ptr()[p_idx];
- }
- inline void operator=(const Read& p_other) {
- godot::api->godot_pool_int_array_read_access_operator_assign(_read_access, p_other._read_access);
- }
- };
- class Write {
- friend class PoolIntArray;
- godot_pool_int_array_write_access *_write_access;
- public:
- inline Write() {
- _write_access = nullptr;
- }
- inline Write(const Write & p_other) {
- _write_access = godot::api->godot_pool_int_array_write_access_copy(p_other._write_access);
- }
- inline ~Write() {
- godot::api->godot_pool_int_array_write_access_destroy(_write_access);
- }
- inline int *ptr() const {
- return godot::api->godot_pool_int_array_write_access_ptr(_write_access);
- }
- inline int &operator[](int p_idx) const {
- return ptr()[p_idx];
- }
- inline void operator=(const Write& p_other) {
- godot::api->godot_pool_int_array_write_access_operator_assign(_write_access, p_other._write_access);
- }
- };
- PoolIntArray();
- PoolIntArray(const PoolIntArray &p_other);
- PoolIntArray &operator=(const PoolIntArray &p_other);
- PoolIntArray(const Array& array);
- Read read() const;
- Write write();
- void append(const int data);
- void append_array(const PoolIntArray& array);
- int insert(const int idx, const int data);
- void invert();
- void push_back(const int data);
- void remove(const int idx);
- void resize(const int size);
- void set(const int idx, const int data);
- const int operator [](const int idx);
- int size() const;
- ~PoolIntArray();
- };
- class PoolRealArray {
- godot_pool_real_array _godot_array;
- public:
- class Read {
- friend class PoolRealArray;
- godot_pool_real_array_read_access *_read_access;
- public:
- inline Read() {
- _read_access = nullptr;
- }
- inline Read(const Read & p_other) {
- _read_access = godot::api->godot_pool_real_array_read_access_copy(p_other._read_access);
- }
- inline ~Read() {
- godot::api->godot_pool_real_array_read_access_destroy(_read_access);
- }
- inline const real_t *ptr() const {
- return godot::api->godot_pool_real_array_read_access_ptr(_read_access);
- }
- inline const real_t &operator[](int p_idx) const {
- return ptr()[p_idx];
- }
- inline void operator=(const Read& p_other) {
- godot::api->godot_pool_real_array_read_access_operator_assign(_read_access, p_other._read_access);
- }
- };
- class Write {
- friend class PoolRealArray;
- godot_pool_real_array_write_access *_write_access;
- public:
- inline Write() {
- _write_access = nullptr;
- }
- inline Write(const Write & p_other) {
- _write_access = godot::api->godot_pool_real_array_write_access_copy(p_other._write_access);
- }
- inline ~Write() {
- godot::api->godot_pool_real_array_write_access_destroy(_write_access);
- }
- inline real_t *ptr() const {
- return godot::api->godot_pool_real_array_write_access_ptr(_write_access);
- }
- inline real_t &operator[](int p_idx) const {
- return ptr()[p_idx];
- }
- inline void operator=(const Write& p_other) {
- godot::api->godot_pool_real_array_write_access_operator_assign(_write_access, p_other._write_access);
- }
- };
- PoolRealArray();
- PoolRealArray(const PoolRealArray &p_other);
- PoolRealArray &operator=(const PoolRealArray &p_other);
- PoolRealArray(const Array& array);
- Read read() const;
- Write write();
- void append(const real_t data);
- void append_array(const PoolRealArray& array);
- int insert(const int idx, const real_t data);
- void invert();
- void push_back(const real_t data);
- void remove(const int idx);
- void resize(const int size);
- void set(const int idx, const real_t data);
- const real_t operator [](const int idx);
- int size() const;
- ~PoolRealArray();
- };
- class PoolStringArray {
- godot_pool_string_array _godot_array;
- public:
- class Read {
- friend class PoolStringArray;
- godot_pool_string_array_read_access *_read_access;
- public:
- inline Read() {
- _read_access = nullptr;
- }
- inline Read(const Read & p_other) {
- _read_access = godot::api->godot_pool_string_array_read_access_copy(p_other._read_access);
- }
- inline ~Read() {
- godot::api->godot_pool_string_array_read_access_destroy(_read_access);
- }
- inline const String *ptr() const {
- return (const String *) godot::api->godot_pool_string_array_read_access_ptr(_read_access);
- }
- inline const String &operator[](int p_idx) const {
- return ptr()[p_idx];
- }
- inline void operator=(const Read& p_other) {
- godot::api->godot_pool_string_array_read_access_operator_assign(_read_access, p_other._read_access);
- }
- };
- class Write {
- friend class PoolStringArray;
- godot_pool_string_array_write_access *_write_access;
- public:
- inline Write() {
- _write_access = nullptr;
- }
- inline Write(const Write & p_other) {
- _write_access = godot::api->godot_pool_string_array_write_access_copy(p_other._write_access);
- }
- inline ~Write() {
- godot::api->godot_pool_string_array_write_access_destroy(_write_access);
- }
- inline String *ptr() const {
- return (String *) godot::api->godot_pool_string_array_write_access_ptr(_write_access);
- }
- inline String &operator[](int p_idx) const {
- return ptr()[p_idx];
- }
- inline void operator=(const Write& p_other) {
- godot::api->godot_pool_string_array_write_access_operator_assign(_write_access, p_other._write_access);
- }
- };
- PoolStringArray();
- PoolStringArray(const PoolStringArray &p_other);
- PoolStringArray &operator=(const PoolStringArray &p_other);
- PoolStringArray(const Array& array);
- Read read() const;
- Write write();
- void append(const String& data);
- void append_array(const PoolStringArray& array);
- int insert(const int idx, const String& data);
- void invert();
- void push_back(const String& data);
- void remove(const int idx);
- void resize(const int size);
- void set(const int idx, const String& data);
- const String operator [](const int idx);
- int size() const;
- ~PoolStringArray();
- };
- class PoolVector2Array {
- godot_pool_vector2_array _godot_array;
- public:
- class Read {
- friend class PoolVector2Array;
- godot_pool_vector2_array_read_access *_read_access;
- public:
- inline Read() {
- _read_access = nullptr;
- }
- inline Read(const Read & p_other) {
- _read_access = godot::api->godot_pool_vector2_array_read_access_copy(p_other._read_access);
- }
- inline ~Read() {
- godot::api->godot_pool_vector2_array_read_access_destroy(_read_access);
- }
- inline const Vector2 *ptr() const {
- return (const Vector2 *) godot::api->godot_pool_vector2_array_read_access_ptr(_read_access);
- }
- inline const Vector2 &operator[](int p_idx) const {
- return ptr()[p_idx];
- }
- inline void operator=(const Read& p_other) {
- godot::api->godot_pool_vector2_array_read_access_operator_assign(_read_access, p_other._read_access);
- }
- };
- class Write {
- friend class PoolVector2Array;
- godot_pool_vector2_array_write_access *_write_access;
- public:
- inline Write() {
- _write_access = nullptr;
- }
- inline Write(const Write & p_other) {
- _write_access = godot::api->godot_pool_vector2_array_write_access_copy(p_other._write_access);
- }
- inline ~Write() {
- godot::api->godot_pool_vector2_array_write_access_destroy(_write_access);
- }
- inline Vector2 *ptr() const {
- return (Vector2 *) godot::api->godot_pool_vector2_array_write_access_ptr(_write_access);
- }
- inline Vector2 &operator[](int p_idx) const {
- return ptr()[p_idx];
- }
- inline void operator=(const Write& p_other) {
- godot::api->godot_pool_vector2_array_write_access_operator_assign(_write_access, p_other._write_access);
- }
- };
- PoolVector2Array();
- PoolVector2Array(const PoolVector2Array &p_other);
- PoolVector2Array &operator=(const PoolVector2Array &p_other);
- PoolVector2Array(const Array& array);
- Read read() const;
- Write write();
- void append(const Vector2& data);
- void append_array(const PoolVector2Array& array);
- int insert(const int idx, const Vector2& data);
- void invert();
- void push_back(const Vector2& data);
- void remove(const int idx);
- void resize(const int size);
- void set(const int idx, const Vector2& data);
- const Vector2 operator [](const int idx);
- int size() const;
- ~PoolVector2Array();
- };
- class PoolVector3Array {
- godot_pool_vector3_array _godot_array;
- public:
- class Read {
- friend class PoolVector3Array;
- godot_pool_vector3_array_read_access *_read_access;
- public:
- inline Read() {
- _read_access = nullptr;
- }
- inline Read(const Read & p_other) {
- _read_access = godot::api->godot_pool_vector3_array_read_access_copy(p_other._read_access);
- }
- inline ~Read() {
- godot::api->godot_pool_vector3_array_read_access_destroy(_read_access);
- }
- inline const Vector3 *ptr() const {
- return (const Vector3 *) godot::api->godot_pool_vector3_array_read_access_ptr(_read_access);
- }
- inline const Vector3 &operator[](int p_idx) const {
- return ptr()[p_idx];
- }
- inline void operator=(const Read& p_other) {
- godot::api->godot_pool_vector3_array_read_access_operator_assign(_read_access, p_other._read_access);
- }
- };
- class Write {
- friend class PoolVector3Array;
- godot_pool_vector3_array_write_access *_write_access;
- public:
- inline Write() {
- _write_access = nullptr;
- }
- inline Write(const Write & p_other) {
- _write_access = godot::api->godot_pool_vector3_array_write_access_copy(p_other._write_access);
- }
- inline ~Write() {
- godot::api->godot_pool_vector3_array_write_access_destroy(_write_access);
- }
- inline Vector3 *ptr() const {
- return (Vector3 *) godot::api->godot_pool_vector3_array_write_access_ptr(_write_access);
- }
- inline Vector3 &operator[](int p_idx) const {
- return ptr()[p_idx];
- }
- inline void operator=(const Write& p_other) {
- godot::api->godot_pool_vector3_array_write_access_operator_assign(_write_access, p_other._write_access);
- }
- };
- PoolVector3Array();
- PoolVector3Array(const PoolVector3Array &p_other);
- PoolVector3Array &operator=(const PoolVector3Array &p_other);
- PoolVector3Array(const Array& array);
- Read read() const;
- Write write();
- void append(const Vector3& data);
- void append_array(const PoolVector3Array& array);
- int insert(const int idx, const Vector3& data);
- void invert();
- void push_back(const Vector3& data);
- void remove(const int idx);
- void resize(const int size);
- void set(const int idx, const Vector3& data);
- const Vector3 operator [](const int idx);
- int size() const;
- ~PoolVector3Array();
- };
- class PoolColorArray {
- godot_pool_color_array _godot_array;
- public:
- class Read {
- friend class PoolColorArray;
- godot_pool_color_array_read_access *_read_access;
- public:
- inline Read() {
- _read_access = nullptr;
- }
- inline Read(const Read & p_other) {
- _read_access = godot::api->godot_pool_color_array_read_access_copy(p_other._read_access);
- }
- inline ~Read() {
- godot::api->godot_pool_color_array_read_access_destroy(_read_access);
- }
- inline const Color *ptr() const {
- return (const Color *) godot::api->godot_pool_color_array_read_access_ptr(_read_access);
- }
- inline const Color &operator[](int p_idx) const {
- return ptr()[p_idx];
- }
- inline void operator=(const Read& p_other) {
- godot::api->godot_pool_color_array_read_access_operator_assign(_read_access, p_other._read_access);
- }
- };
- class Write {
- friend class PoolColorArray;
- godot_pool_color_array_write_access *_write_access;
- public:
- inline Write() {
- _write_access = nullptr;
- }
- inline Write(const Write & p_other) {
- _write_access = godot::api->godot_pool_color_array_write_access_copy(p_other._write_access);
- }
- inline ~Write() {
- godot::api->godot_pool_color_array_write_access_destroy(_write_access);
- }
- inline Color *ptr() const {
- return (Color *) godot::api->godot_pool_color_array_write_access_ptr(_write_access);
- }
- inline Color &operator[](int p_idx) const {
- return ptr()[p_idx];
- }
- inline void operator=(const Write& p_other) {
- godot::api->godot_pool_color_array_write_access_operator_assign(_write_access, p_other._write_access);
- }
- };
- PoolColorArray();
- PoolColorArray(const PoolColorArray &p_other);
- PoolColorArray &operator=(const PoolColorArray &p_other);
- PoolColorArray(const Array& array);
- Read read() const;
- Write write();
- void append(const Color& data);
- void append_array(const PoolColorArray& array);
- int insert(const int idx, const Color& data);
- void invert();
- void push_back(const Color& data);
- void remove(const int idx);
- void resize(const int size);
- void set(const int idx, const Color& data);
- const Color operator [](const int idx);
- int size() const;
- ~PoolColorArray();
- };
- }
- #endif // POOLARRAYS_H
|