#ifndef VECTOR_H_ #define VECTOR_H_ #include "vc_vector.h" typedef bool (*Vector_func_push)(struct Vector*, const void*); typedef bool (*Vector_func_replace)(struct Vector*, size_t, const void*); typedef void* (*Vector_func_pop)(struct Vector*); typedef void (*Vector_func)(struct Vector*); typedef size_t (*Vector_func_count)(struct Vector*); typedef void* (*Vector_func_get)(struct Vector*, size_t i); typedef struct Vector { vc_vector* _vector; Vector_func_push consume; Vector_func_push push; Vector_func_pop pop; Vector_func_replace replace; Vector_func clear; Vector_func_count count; Vector_func_get get; } Vector; void free_Vector(struct Vector* self); Vector* new_Vector(int size, size_t obj_size, vc_vector_deleter* deleter); Vector* new_VectorFromVC(vc_vector* vector); #endif