0001 #ifndef VECTOR_HEADER
0002 #define VECTOR_HEADER
0003
0004 #ifdef __cplusplus
0005 namespace cgreen {
0006 extern "C" {
0007 #endif
0008
0009 typedef void (*GenericDestructor)(void *);
0010 typedef struct CgreenVector_ CgreenVector;
0011
0012 CgreenVector *create_cgreen_vector(GenericDestructor destructor);
0013 void destroy_cgreen_vector(CgreenVector *vector);
0014 void cgreen_vector_add(CgreenVector *vector, void *item);
0015 void *cgreen_vector_remove(CgreenVector *vector, int position);
0016 void *cgreen_vector_get(const CgreenVector *vector, int position);
0017 int cgreen_vector_size(const CgreenVector *vector);
0018
0019 #ifdef __cplusplus
0020 }
0021 }
0022 #endif
0023
0024 #endif