Array.hpp 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. #ifndef ARRAY_H
  2. #define ARRAY_H
  3. #include <gdnative/array.h>
  4. #include "String.hpp"
  5. namespace godot {
  6. class Variant;
  7. class PoolByteArray;
  8. class PoolIntArray;
  9. class PoolRealArray;
  10. class PoolStringArray;
  11. class PoolVector2Array;
  12. class PoolVector3Array;
  13. class PoolColorArray;
  14. class Object;
  15. class Array {
  16. godot_array _godot_array;
  17. public:
  18. Array();
  19. Array(const Array & other);
  20. Array & operator=(const Array & other);
  21. Array(const PoolByteArray& a);
  22. Array(const PoolIntArray& a);
  23. Array(const PoolRealArray& a);
  24. Array(const PoolStringArray& a);
  25. Array(const PoolVector2Array& a);
  26. Array(const PoolVector3Array& a);
  27. Array(const PoolColorArray& a);
  28. Variant& operator [](const int idx);
  29. Variant operator [](const int idx) const;
  30. void append(const Variant& v);
  31. void clear();
  32. int count(const Variant& v);
  33. bool empty() const;
  34. void erase(const Variant& v);
  35. Variant front() const;
  36. Variant back() const;
  37. int find(const Variant& what, const int from = 0);
  38. int find_last(const Variant& what);
  39. bool has(const Variant& what) const;
  40. uint32_t hash() const;
  41. void insert(const int pos, const Variant& value);
  42. void invert();
  43. bool is_shared() const;
  44. Variant pop_back();
  45. Variant pop_front();
  46. void push_back(const Variant& v);
  47. void push_front(const Variant& v);
  48. void remove(const int idx);
  49. int size() const;
  50. void resize(const int size);
  51. int rfind(const Variant& what, const int from = -1);
  52. void sort();
  53. void sort_custom(Object *obj, const String& func);
  54. ~Array();
  55. };
  56. }
  57. #endif // ARRAY_H