Arrays.h 552 B

1234567891011121314151617181920212223242526272829303132
  1. #ifndef ARRAYS_H
  2. #define ARRAYS_H
  3. #include <stdbool.h>
  4. #include "DataType.h"
  5. typedef struct {
  6. int length;
  7. DataType type;
  8. int references;
  9. int next;
  10. int previous;
  11. void* data;
  12. } Array;
  13. typedef struct {
  14. int capacity;
  15. int usedStart;
  16. int freeStart;
  17. Array* data;
  18. } Arrays;
  19. void asInit(Arrays* as);
  20. void asDelete(Arrays* as);
  21. int asAllocate(Arrays* as, DataType type, int length);
  22. Array* asGet(Arrays* as, int p);
  23. void aAddReference(Array* a);
  24. void aRemoveReference(Array* a);
  25. void asPrintDebug(Arrays* as);
  26. #endif