vector.h 716 B

1234567891011121314151617181920212223
  1. #ifndef _DS_VECTOR_H_
  2. #define _DS_VECTOR_H_
  3. /**
  4. * Vector
  5. */
  6. #include "common.h"
  7. typedef struct _ds_vector ds_vector_t;
  8. ds_vector_t*ds_vector_new(func_destroyer destroyer);
  9. int ds_vector_append(ds_vector_t * vec, ds_data_t data);
  10. int ds_vector_get(ds_vector_t * vec, int pos, ds_data_t *ret);
  11. int ds_vector_set(ds_vector_t * vec, int pos, ds_data_t data);
  12. #define ds_vector_at ds_vector_get
  13. int ds_vector_poptail(ds_vector_t * vec, ds_data_t *ret);
  14. void ds_vector_destroy(ds_vector_t * vec);
  15. void ds_vector_foreach(ds_vector_t * vec, func_each fn);
  16. int ds_vector_size(ds_vector_t * vec);
  17. int ds_vector_cap(ds_vector_t * vec);
  18. #endif // vector