26 xroad_mem_pool_t* pool;
41 #define xroad_vector_create(...) \
43 xroad_vector_args_t args = {__VA_ARGS__}; \
44 xroad_vector_create_ex(args.entry_size, args.capacity, args.pool, args.dtor); \
53 #define __xroad_vector_dtor__ __dtor__(xroad_vector_destructor)
54 void xroad_vector_destructor(
void* vector);
73 #define xroad_vector_push_back(vector, val) \
74 xroad_vector_insert(vector, xroad_vector_get_size(vector), val)
81 #define xroad_vector_push_front(vector, val) \
82 xroad_vector_insert(vector, 0, val)
120 #define xroad_vector_get_last(vector) \
121 xroad_vector_get_at(vector, xroad_vector_get_size(vector) - 1)
128 #define xroad_vector_get_first(vector) \
129 xroad_vector_get_at(vector, 0)
Definition: xroad_vector.h:23
struct xroad_vector_s xroad_vector_t
see common/xroad_vector.h for details
Definition: xroad_common_fwd.h:35
void xroad_vector_insert(xroad_vector_t *vector, size_t pos, void *val)
xroad_vector_t * xroad_vector_create_ex(size_t entry_size, size_t capacity, xroad_mem_pool_t *pool, xroad_vector_free_func_t free_func)
int32_t xroad_vector_find(xroad_vector_t *vector, void *val, xroad_cmp_func_t cb)
void xroad_vector_clear(xroad_vector_t *vector)
void xroad_vector_sort(xroad_vector_t *vector, xroad_cmp_func_t cb)
int32_t(* xroad_cmp_func_t)(const void *, const void *)
Definition: xroad_vector.h:134
int32_t xroad_vector_get_size(const xroad_vector_t *vector)
void xroad_vector_destroy(xroad_vector_t *vector)
void * xroad_vector_get_at(const xroad_vector_t *vector, size_t pos)
void xroad_vector_pop_back(xroad_vector_t *vector, xroad_vector_free_func_t free_func)
int32_t xroad_vector_get_capacity(const xroad_vector_t *vector)
void(* xroad_vector_free_func_t)(void *)
Definition: xroad_vector.h:20
void xroad_vector_delete_at(xroad_vector_t *vector, size_t pos, xroad_vector_free_func_t free_func)