You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

28 lines
418 B

#ifndef _VECTOR_H
#define _VECTOR_H
#include <rc.h>
#define VEC_DEFAULT_CAP 16
typedef void* vec_elem_t;
typedef struct vec vec_t;
struct vec {
size_t scap;
size_t cap;
size_t len;
vec_elem_t buffer[];
};
#define vec_new() vec_alloc(VEC_DEFAULT_CAP)
#define vec_free(vec) free(vec)
#define vec_tnptr(ty, elem) ((ty *)(elem))
vec_t* _rc_restrict vec_alloc(size_t cap) _rc_alloc_fn;
#endif /* _VECTOR_H */