37 #include <citrusleaf/cf_types.h>
47 #define VECTOR_ELEM_SZ(_v) ( _h->value_len )
52 #define VECTOR_FLAG_BIGLOCK 0x01
57 #define VECTOR_FLAG_INITZERO 0x02
62 #define VECTOR_FLAG_BIGRESIZE 0x04
67 #define VECTOR_REDUCE_DELETE (1)
88 #endif // EXTERNAL_LOCKS
111 extern int cf_vector_get(cf_vector *v, uint32_t index,
void *value);
116 extern int cf_vector_set(cf_vector *v, uint32_t index,
void *value);
224 #define cf_vector_define(__x, __value_len, __flags) \
225 uint8_t cf_vector##__x[1024]; cf_vector __x; cf_vector_init_smalloc(&__x, __value_len, cf_vector##__x, sizeof(cf_vector##__x), __flags);
227 #define cf_vector_reset( __v ) (__v)->len = 0; if ( (__v)->flags & VECTOR_FLAG_INITZERO) memset( (__v)->vector, 0, (__v)->alloc_len * (__v)->value_len);
void cf_vector_compact(cf_vector *v)
static int cf_vector_integer_init(cf_vector *v, uint32_t init_sz, uint32_t flags)
void * cf_vector_getp_vlock(cf_vector *v, uint32_t index, pthread_mutex_t **vlock)
int cf_vector_get(cf_vector *v, uint32_t index, void *value)
static int cf_vector_pointer_set(cf_vector *v, uint32_t index, void *p)
static int cf_vector_integer_get(cf_vector *v, uint32_t index)
int cf_vector_delete_range(cf_vector *v, uint32_t start_index, uint32_t end_index)
static cf_vector * cf_vector_integer_create(uint32_t init_sz, uint32_t flags)
static int cf_vector_integer_set(cf_vector *v, uint32_t index, int i)
int cf_vector_append(cf_vector *v, void *value)
void cf_vector_init_smalloc(cf_vector *v, uint32_t value_len, uint8_t *sbuf, int sbuf_sz, uint flags)
static int cf_vector_pointer_append(cf_vector *v, void *p)
int cf_vector_set(cf_vector *v, uint32_t index, void *value)
static int cf_vector_integer_append(cf_vector *v, int i)
int cf_vector_delete(cf_vector *v, uint32_t index)
static void * cf_vector_pointer_get(cf_vector *v, uint32_t index)
void * cf_vector_getp(cf_vector *v, uint32_t index)
int cf_vector_append_unique(cf_vector *v, void *value)
static int cf_vector_pointer_init(cf_vector *v, uint32_t init_sz, uint32_t flags)
void cf_vector_destroy(cf_vector *v)
static uint32_t cf_vector_size(cf_vector *v)
static cf_vector * cf_vector_pointer_create(uint32_t init_sz, uint32_t flags)
int cf_vector_init(cf_vector *v, uint32_t value_len, uint32_t init_sz, uint flags)
cf_vector * cf_vector_create(uint32_t value_len, uint32_t init_sz, uint flags)