Libecoli 0.5.0
Extensible COmmand LIne library
|
Helpers for vectors manipulation. More...
Typedefs | |
typedef void(* | ec_vec_elt_free_t) (void *ptr) |
typedef void(* | ec_vec_elt_copy_t) (void *dst, void *src) |
Functions | |
struct ec_vec * | ec_vec (size_t elt_size, size_t size, ec_vec_elt_copy_t copy, ec_vec_elt_free_t free) |
int | ec_vec_add_by_ref (struct ec_vec *vec, void *ptr) |
int | ec_vec_add_ptr (struct ec_vec *vec, void *elt) |
int | ec_vec_add_u8 (struct ec_vec *vec, uint8_t elt) |
int | ec_vec_add_u16 (struct ec_vec *vec, uint16_t elt) |
int | ec_vec_add_u32 (struct ec_vec *vec, uint32_t elt) |
int | ec_vec_add_u64 (struct ec_vec *vec, uint64_t elt) |
int | ec_vec_get (void *ptr, const struct ec_vec *vec, size_t idx) |
struct ec_vec * | ec_vec_dup (const struct ec_vec *vec) |
struct ec_vec * | ec_vec_ndup (const struct ec_vec *vec, size_t off, size_t len) |
void | ec_vec_free (struct ec_vec *vec) |
Helpers for vectors manipulation.
The ec_vec API provide helpers to manipulate vectors of objects of any kind.
typedef void(* ec_vec_elt_free_t) (void *ptr) |
typedef void(* ec_vec_elt_copy_t) (void *dst, void *src) |
Custom copy callback
If NULL, default is: memcpy(dst, src, vec->elt_size)
Definition at line 33 of file ecoli_vec.h.
struct ec_vec * ec_vec | ( | size_t | elt_size, |
size_t | size, | ||
ec_vec_elt_copy_t | copy, | ||
ec_vec_elt_free_t | free ) |
Create a new vector.
int ec_vec_add_by_ref | ( | struct ec_vec * | vec, |
void * | ptr ) |
Add reference to a vector.
int ec_vec_add_ptr | ( | struct ec_vec * | vec, |
void * | elt ) |
Add opaque element to a vector.
int ec_vec_add_u8 | ( | struct ec_vec * | vec, |
uint8_t | elt ) |
Add uint8_t value to a vector.
int ec_vec_add_u16 | ( | struct ec_vec * | vec, |
uint16_t | elt ) |
Add uint16_t value to a vector.
int ec_vec_add_u32 | ( | struct ec_vec * | vec, |
uint32_t | elt ) |
Add uint32_t value to a vector.
int ec_vec_add_u64 | ( | struct ec_vec * | vec, |
uint64_t | elt ) |
Add uint64_t value to a vector.
int ec_vec_get | ( | void * | ptr, |
const struct ec_vec * | vec, | ||
size_t | idx ) |
Get element located at an offset.
Duplicate a portion of a vector.
void ec_vec_free | ( | struct ec_vec * | vec | ) |
Free a vector and all its contents.