Lines Matching refs:v
18 static inline void vector_ ## name ## _init(vector_ ## name *v) { \
19 v->data = NULL; \
20 v->used = v->size = 0; \
25 return ck_calloc(1, sizeof(*v)); \
27 static inline void vector_ ## name ## _clear(vector_ ## name *v) { \
28 if (release) for (size_t i = 0; i < v->used; ++i) release(v->data[i]); \
29 vector_free(v->data); \
30 vector_ ## name ## _init(v); \
32 static inline void vector_ ## name ## _free(vector_ ## name *v) { \
33 if (NULL != v) { \
34 vector_ ## name ## _clear(v); \
35 vector_free(v); \
38 static inline void vector_ ## name ## _reserve(vector_ ## name *v, size_t p) { \
39 if (v->size - v->used < p) \
40 v->data = vector_resize(v->data, sizeof(entry), &v->size, v->used, p); \
42 static inline void vector_ ## name ## _push(vector_ ## name *v, entry e) { \
43 vector_ ## name ## _reserve(v, 1); \
44 v->data[v->used++] = e; \
46 static inline entry vector_ ## name ## _pop(vector_ ## name *v) { \
47 ck_assert(v->used > 0); \
48 return v->data[--v->used]; \