26 #define gen_array_undefined ((gen_array_t) -12)
27 #define gen_array_undefined_p(a) ((a)==gen_array_undefined)
50 #define GEN_ARRAY_FOREACH(type, s, array) \
51 gen_array_t NGMID(a) = (array); \
52 size_t NGMID(n) = gen_array_nitems(NGMID(a)); \
53 type s = NGMID(n) > 0 ? (type) gen_array_item(NGMID(a), 0): NULL; \
54 for (size_t NGMID(i) = 0; \
55 NGMID(i) < NGMID(n) && \
56 ((s = (type) gen_array_item(NGMID(a), NGMID(i))), 1); \
void ** gen_array_pointer(gen_array_t)
Observers...
void gen_array_dupaddto(gen_array_t, size_t, void *)
void gen_array_full_free(gen_array_t)
string string_array_join(gen_array_t array, string separator)
Join a string array with a string separator.
size_t gen_array_nitems(gen_array_t)
void gen_array_dupappend(gen_array_t, void *)
void gen_array_addto(gen_array_t, size_t, void *)
struct _gen_array_chunk_t * gen_array_t
void gen_array_sort_with_cmp(gen_array_t, int(*)(const void *, const void *))
void gen_array_append(gen_array_t, void *)
void gen_array_sort(gen_array_t)
list list_from_gen_array(gen_array_t)
gen_array_t gen_array_make(size_t)
declarations...
gen_array_t gen_array_from_list(list)
void gen_array_remove(gen_array_t, size_t)
void gen_array_free(gen_array_t)
void * gen_array_item(gen_array_t, size_t)
size_t gen_array_size(gen_array_t)
The structure used to build lists in NewGen.