Libparserutils
|
Go to the source code of this file.
Data Structures | |
struct | parserutils_vector |
Vector object. More... | |
Functions | |
parserutils_error | parserutils_vector_create (size_t item_size, size_t chunk_size, parserutils_vector **vector) |
Create a vector. | |
parserutils_error | parserutils_vector_destroy (parserutils_vector *vector) |
Destroy a vector instance. | |
parserutils_error | parserutils_vector_append (parserutils_vector *vector, void *item) |
Append an item to the vector. | |
parserutils_error | parserutils_vector_clear (parserutils_vector *vector) |
Clear a vector. | |
parserutils_error | parserutils_vector_remove_last (parserutils_vector *vector) |
Remove the last item from a vector. | |
parserutils_error | parserutils_vector_get_length (parserutils_vector *vector, size_t *length) |
Acquire the length (in items) of the vector. | |
const void * | parserutils_vector_iterate (const parserutils_vector *vector, int32_t *ctx) |
Iterate over a vector. | |
const void * | parserutils_vector_peek (const parserutils_vector *vector, int32_t ctx) |
Peek at an item in a vector. | |
void | parserutils_vector_dump (parserutils_vector *vector, const char *prefix, void(*printer)(void *item)) |
parserutils_error parserutils_vector_append | ( | parserutils_vector * | vector, |
void * | item | ||
) |
Append an item to the vector.
vector | The vector to append to |
item | The item to append |
Definition at line 87 of file vector.c.
References parserutils_vector::chunk_size, parserutils_vector::current_item, parserutils_vector::item_size, parserutils_vector::items, parserutils_vector::items_allocated, PARSERUTILS_BADPARM, PARSERUTILS_INVALID, PARSERUTILS_NOMEM, and PARSERUTILS_OK.
parserutils_error parserutils_vector_clear | ( | parserutils_vector * | vector | ) |
Clear a vector.
vector | The vector to clear |
Definition at line 125 of file vector.c.
References parserutils_vector::current_item, PARSERUTILS_BADPARM, PARSERUTILS_INVALID, and PARSERUTILS_OK.
parserutils_error parserutils_vector_create | ( | size_t | item_size, |
size_t | chunk_size, | ||
parserutils_vector ** | vector | ||
) |
Create a vector.
item_size | Length, in bytes, of an item in the vector |
chunk_size | Number of vector slots in a chunk |
vector | Pointer to location to receive vector instance |
Definition at line 35 of file vector.c.
References parserutils_vector::chunk_size, parserutils_vector::current_item, parserutils_vector::item_size, parserutils_vector::items, parserutils_vector::items_allocated, PARSERUTILS_BADPARM, PARSERUTILS_NOMEM, and PARSERUTILS_OK.
parserutils_error parserutils_vector_destroy | ( | parserutils_vector * | vector | ) |
Destroy a vector instance.
vector | The vector to destroy |
Definition at line 69 of file vector.c.
References parserutils_vector::items, PARSERUTILS_BADPARM, and PARSERUTILS_OK.
|
extern |
Definition at line 231 of file vector.c.
References parserutils_vector::current_item, parserutils_vector::item_size, and parserutils_vector::items.
parserutils_error parserutils_vector_get_length | ( | parserutils_vector * | vector, |
size_t * | length | ||
) |
Acquire the length (in items) of the vector.
vector | The vector to interrogate. |
length | Pointer to location to receive length information. |
Definition at line 164 of file vector.c.
References parserutils_vector::current_item, PARSERUTILS_BADPARM, and PARSERUTILS_OK.
const void * parserutils_vector_iterate | ( | const parserutils_vector * | vector, |
int32_t * | ctx | ||
) |
Iterate over a vector.
vector | The vector to iterate over |
ctx | Pointer to an integer for the iterator to use as context. |
Definition at line 187 of file vector.c.
References parserutils_vector::current_item, parserutils_vector::item_size, and parserutils_vector::items.
const void * parserutils_vector_peek | ( | const parserutils_vector * | vector, |
int32_t | ctx | ||
) |
Peek at an item in a vector.
vector | The vector to iterate over |
ctx | Integer for the iterator to use as context. |
Definition at line 212 of file vector.c.
References parserutils_vector::current_item, parserutils_vector::item_size, and parserutils_vector::items.
parserutils_error parserutils_vector_remove_last | ( | parserutils_vector * | vector | ) |
Remove the last item from a vector.
vector | The vector to remove from |
Definition at line 144 of file vector.c.
References parserutils_vector::current_item, PARSERUTILS_BADPARM, PARSERUTILS_INVALID, and PARSERUTILS_OK.