19 #include <citrusleaf/alloc.h>
20 #include <citrusleaf/cf_types.h>
35 typedef struct as_vector_s {
71 #define as_vector_inita(__vector, __item_size, __capacity)\
72 (__vector)->list = alloca((__capacity) * (__item_size));\
73 (__vector)->capacity = __capacity;\
74 (__vector)->item_size = __item_size;\
75 (__vector)->size = 0;\
76 (__vector)->flags = 0;
115 return (
void *) ((byte *)vector->
list + (vector->
item_size * index));
124 return *(
void**) ((byte *)vector->
list + (vector->
item_size * index));
void as_vector_init(as_vector *vector, uint32_t item_size, uint32_t capacity)
static void * as_vector_reserve(as_vector *vector)
as_vector * as_vector_create(uint32_t item_size, uint32_t capacity)
static void * as_vector_get_ptr(as_vector *vector, uint32_t index)
static void as_vector_clear(as_vector *vector)
static void as_vector_set(as_vector *vector, uint32_t index, void *value)
static void * as_vector_get(as_vector *vector, uint32_t index)
static void as_vector_append(as_vector *vector, void *value)
static void as_vector_move(as_vector *vector, uint32_t source, uint32_t target)
void as_vector_destroy(as_vector *vector)
bool as_vector_append_unique(as_vector *vector, void *value)
void as_vector_increase_capacity(as_vector *vector)