c-icap-doc
0.1
|
Arrays which store name/value pair items, and can grow unlimited.
More...
Modules | |
Dynamic arrays of pointers related API | |
Arrays which store name/value pair items | |
Macros | |
#define | ci_dyn_array_get_item(array, pos) (pos < (array)->count ? (array)->items[pos] : NULL) |
Return the ci_array_item_t item on position 'pos' | |
#define | ci_dyn_array_value(array, pos) ((pos < (array)->count && (array)->items[pos] != NULL) ? (array)->items[pos]->value : NULL) |
Return the value of item on position 'pos' | |
#define | ci_dyn_array_name(array, pos) ((pos < (array)->count && (array)->items[pos] != NULL) ? (array)->items[pos]->name : NULL) |
Return the name of item on position 'pos' | |
#define | ci_dyn_array_size(array) ((array)->count) |
Return the size of array 'array' | |
Typedefs | |
typedef struct ci_dyn_array | ci_dyn_array_t |
The ci_dyn_array_t objects can store a list of name/value pairs. More... | |
Functions | |
ci_dyn_array_t * | ci_dyn_array_new (size_t mem_size) |
Allocate the required memory and initialize an ci_dyn_array_t object More... | |
ci_dyn_array_t * | ci_dyn_array_new2 (size_t items, size_t item_size) |
Create and initialize an ci_dyn_array_t object for the given number of items More... | |
void | ci_dyn_array_destroy (ci_dyn_array_t *array) |
Destroy an ci_dyn_array_t object More... | |
const ci_array_item_t * | ci_dyn_array_add (ci_dyn_array_t *array, const char *name, const void *value, size_t size) |
Add an name/value pair item to a dynamic array. More... | |
const void * | ci_dyn_array_search (ci_dyn_array_t *array, const char *name) |
Search in an dynamic array for an item with the given name More... | |
void | ci_dyn_array_iterate (const ci_dyn_array_t *array, void *data, int(*fn)(void *data, const char *name, const void *)) |
Run the given function for each dynamic array item More... | |
Arrays which store name/value pair items, and can grow unlimited.
The ci_dyn_array_t objects can store a list of name/value pairs.
The memory RAM space of dynamic array items can not be released before the ci_dyn_array destroyed.
const ci_array_item_t* ci_dyn_array_add | ( | ci_dyn_array_t * | array, |
const char * | name, | ||
const void * | value, | ||
size_t | size | ||
) |
Add an name/value pair item to a dynamic array.
array | a pointer to the ci_dyn_array_t object |
name | the name part of the name/value pair item to be added |
value | the value part of the name/value pair item to be added |
size | the size of the value part of the new item. |
void ci_dyn_array_destroy | ( | ci_dyn_array_t * | array | ) |
Destroy an ci_dyn_array_t object
array | a pointer to ci_dyn_array_t object to be destroyed |
void ci_dyn_array_iterate | ( | const ci_dyn_array_t * | array, |
void * | data, | ||
int(*)(void *data, const char *name, const void *) | fn | ||
) |
Run the given function for each dynamic array item
array | a pointer to the ci_dyn_array_t object |
data | a pointer to data which will be passed on fn function |
fn | a pointer to the function which will be run for each array item. The iteration will stop if the fn function return non zero value. |
ci_dyn_array_t* ci_dyn_array_new | ( | size_t | mem_size | ) |
Allocate the required memory and initialize an ci_dyn_array_t object
mem_size | the initial size to use for dyn_array |
ci_dyn_array_t* ci_dyn_array_new2 | ( | size_t | items, |
size_t | item_size | ||
) |
Create and initialize an ci_dyn_array_t object for the given number of items
items | the maximum aray items |
item_size | the items size |
const void* ci_dyn_array_search | ( | ci_dyn_array_t * | array, |
const char * | name | ||
) |
Search in an dynamic array for an item with the given name
array | a pointer to the ci_dyn_array_t object |
name | the item to be search for. |