vector.h 556 B

12345678910111213141516171819202122
  1. #ifndef VECTOR_H_
  2. #define VECTOR_H_
  3. #include "vc_vector.h"
  4. typedef struct Vector Vector;
  5. struct Vector {
  6. vc_vector* _vector;
  7. bool (*consume)(Vector*, const void*);
  8. bool (*push)(Vector*, const void*);
  9. void* (*pop)(Vector*);
  10. bool (*replace)(Vector*, size_t, const void*);
  11. void (*clear)(Vector*);
  12. size_t (*count)(Vector*);
  13. void* (*get)(Vector*, size_t);
  14. };
  15. void free_Vector(struct Vector* self);
  16. Vector* new_Vector(int size, size_t obj_size, vc_vector_deleter* deleter);
  17. Vector* new_VectorFromVC(vc_vector* vector);
  18. #endif