6void default_create(
void);
7void explicit_opts_create(
void);
8void extended_header(
void);
14 explicit_opts_create();
21void default_create(
void)
23 dynarr_t *dynarr =
dynarr_create(.element_size =
sizeof(
int));
27 perror(
"dynarr_create");
36void explicit_opts_create(
void)
40 .element_size =
sizeof(
float),
43 .grow_threshold = 0.8,
44 .shrink_threshold = 0.2
47 assert(dynarr &&
"Buy more RAM!");
54void extended_header(
void)
67 .ext_header_size =
sizeof(ext_t),
68 .element_size =
sizeof(
long)
74 *header = (ext_t) {0};
Describes dynarr public interface.
void * dynarr_get_ext_header(const dynarr_t *const dynarr)
Retrieve a location of extended header.
#define dynarr_create(...)
Dynarr constructor.
dynarr_t * dynarr_clone(const dynarr_t *const dynarr)
Duplicate a dynarr.
dynarr_t * dynarr_create_(const dynarr_opts_t *const opts)
Constructor of the dynamic array.
void dynarr_destroy(dynarr_t *const dynarr)
Deallocates a dynamic array.