5#define CAT__(a,b,c) a##b##c
6#define CAT_(a,b,c) CAT__(a,b,c)
7#define NAME(a) CAT_(__fenix_,__fenix_dynamic_array_typename,a)
9#define __fenix_dynamic_array_t NAME(_dynamic_array_t)
10#define __fenix_dynamic_array_init NAME(_dynamic_array_init)
11#define __fenix_dynamic_array_destroy NAME(_dynamic_array_destroy)
12#define __fenix_dynamic_array_inc NAME(_dynamic_array_inc)
13#define __fenix_dynamic_array_dec NAME(_dynamic_array_dec)
14#define __fenix_dynamic_array_clear NAME(_dynamic_array_clear)
19 size_t bytes_allocated;
20 __fenix_dynamic_array_type *elements;
29 d->max_size = max_size;
30 d->bytes_allocated = max_size*
sizeof(__fenix_dynamic_array_type);
31 d->elements = malloc(d->bytes_allocated);
32 memset(d->elements, 0x00, d->bytes_allocated);
46 assert(d->size <= d->max_size);
47 if(d->size == d->max_size) {
48 size_t olds = d->bytes_allocated;
49 d->bytes_allocated *= 2;
51 d->elements = realloc(d->elements, d->bytes_allocated);
52 memset(((
char *)d->elements)+olds, 0x00, olds);
73#undef __fenix_dynamic_array_t
74#undef __fenix_dynamic_array_init
75#undef __fenix_dynamic_array_destroy
76#undef __fenix_dynamic_array_inc
77#undef __fenix_dynamic_array_dec
78#undef __fenix_dynamic_array_clear
Definition fenix_dynamic_array.h:16