|
Dynarr 0.0.1
C dynamic array
|
Contains implementation of the dynarr. More...
#include "dynarr.h"Go to the source code of this file.
Data Structures | |
| struct | dynarr_header_t |
Functions | |
| static dynarr_opts_t | get_opts (const dynarr_t *const dynarr) |
| static dynarr_header_t * | get_dynarr_header (const dynarr_t *const dynarr) |
| static dynarr_status_t | grow (dynarr_t **const dynarr, const size_t amount_to_add) |
| static dynarr_status_t | shrink (dynarr_t **const dynarr, const size_t amount_to_remove) |
| static void | free_space_at (dynarr_t *const dynarr, const size_t index, const size_t amount) |
| static void | make_space_at (dynarr_t *const dynarr, const size_t index, size_t amount) |
| static size_t | binary_find_insert_place (const dynarr_t *const dynarr, const void *value, const size_t start, const size_t end, const compare_t cmp, void *param) |
| dynarr_t * | dynarr_create_ (const dynarr_opts_t *const opts) |
| Constructor of the dynamic array. | |
| void * | dynarr_get_ext_header (const dynarr_t *const dynarr) |
| Retrieve a location of extended header. | |
| dynarr_t * | dynarr_clone (const dynarr_t *const dynarr) |
| Duplicate a dynarr. | |
| void | dynarr_destroy (dynarr_t *const dynarr) |
| Deallocates a dynamic array. | |
| void | dynarr_clear (dynarr_t *const dynarr) |
| Clean (reset) contents of the dynarr. | |
| size_t | dynarr_size (const dynarr_t *const dynarr) |
| Access size property of a dynarr. | |
| size_t | dynarr_initial_capacity (const dynarr_t *const dynarr) |
| Access initial capacity property. | |
| size_t | dynarr_capacity (const dynarr_t *const dynarr) |
| Access current capacity of the dynarr. | |
| void * | dynarr_get (const dynarr_t *const dynarr, const size_t index) |
Returns pointer for the element at index. | |
| void | dynarr_set (dynarr_t *const dynarr, const size_t index, const void *value) |
Sets element at given index to a value. | |
| void | dynarr_set_zero (dynarr_t *const dynarr, const size_t index) |
Sets element at given index to a zero value. | |
| void * | dynarr_first (const dynarr_t *const dynarr) |
| Access first element of a dynarr. | |
| void * | dynarr_last (const dynarr_t *const dynarr) |
| Access last element if a dynarr. | |
| void * | dynarr_binary_find (const dynarr_t *const dynarr, const void *const value, const compare_t cmp, void *const param) |
| Binary search for the element with matching value. | |
| ssize_t | dynarr_binary_find_index (const dynarr_t *const dynarr, const void *const value, const compare_t cmp, void *const param) |
| Binary search for the element with matching value. | |
| dynarr_status_t | dynarr_append (dynarr_t **const dynarr, const void *const value) |
| Appends an element to the tail of a dynarr. | |
| dynarr_status_t | dynarr_prepend (dynarr_t **const dynarr, const void *const value) |
| Prepends an element to the head of a dynarr. | |
| dynarr_status_t | dynarr_pop_back (dynarr_t **const dynarr) |
| Removes an element from the tail of a dynarr. | |
| dynarr_status_t | dynarr_pop_front (dynarr_t **const dynarr) |
| Removes an element from the head of a dynarr. | |
| dynarr_status_t | dynarr_insert (dynarr_t **const dynarr, const size_t index, const void *value) |
| Inserts new element into a dynarr. | |
| dynarr_status_t | dynarr_spread_insert (dynarr_t **const dynarr, const size_t index, const size_t amount, const void *const value) |
| Insert single value as an element range. | |
| size_t | dynarr_binary_find_insert_place (const dynarr_t *const dynarr, const void *const value, const compare_t cmp, void *param) |
| Binary search for binary insert support. | |
| dynarr_status_t | dynarr_binary_insert (dynarr_t **const dynarr, const void *const value, const compare_t cmp, void *param, size_t *const index) |
| Binary insert. | |
| dynarr_status_t | dynarr_binary_insert_uniq (dynarr_t **const dynarr, const void *const value, const compare_t cmp, void *param, size_t *const index) |
| Binary unique insert. | |
| dynarr_status_t | dynarr_binary_reserve (dynarr_t **const dynarr, const void *const value, const compare_t cmp, void *const param, size_t *const index) |
| Reserve space for an element in sorted dynarr. | |
| dynarr_status_t | dynarr_remove (dynarr_t **const dynarr, const size_t index) |
| Removes an element from a dynarr. | |
| dynarr_status_t | dynarr_remove_range (dynarr_t **const dynarr, const size_t index, const size_t amount) |
| Removes range of elements from a dynarr. | |
| dynarr_status_t | dynarr_remove_if (dynarr_t **const dynarr, const predicate_t predicate, const size_t limit, void *const param) |
Removes limit elements that match predicate. | |
| dynarr_t * | dynarr_binary_merge (const dynarr_t *const first, const dynarr_t *const second, const compare_t cmp, void *const param) |
| Non-destructive merge of two sorted dynarrs. | |
| int | dynarr_foreach (const dynarr_t *const dynarr, const foreach_t func, void *const param) |
| int | dynarr_aggregate (const dynarr_t *const dynarr, const aggregate_t func, void *const acc, void *const param) |
| int | dynarr_transform (dynarr_t *const dynarr, const transform_t func, void *const param) |
Contains implementation of the dynarr.
Definition in file dynarr.c.
|
static |
|
static |
Access a vector structure where dynarr_header_t is located.
Definition at line 557 of file dynarr.c.