]>
Dogcows Code - chaz/rasterize/blob - array.c
3 * CS5600 University of Utah
5 * mcgarvey@eng.utah.edu
11 array_t
* array_alloc2(size_t size
, size_t capacity
)
13 array_t
* v
= mem_alloc(sizeof(array_t
));
14 capacity
= MAX(capacity
, ARRAY_CAPACITY_MIN
);
15 v
->arr
= mem_alloc(size
* capacity
);
23 void array_reserve(array_t
* v
, size_t s
)
27 size_t cap
= MAX(s
+ ARRAY_CAPACITY_DEFAULT
, ARRAY_CAPACITY_MIN
);
28 void* arr
= mem_realloc(v
->arr
, v
->siz
* cap
);
34 void array_done(array_t
* v
)
37 if (v
->len
< v
->cap
) {
38 size_t cap
= MAX(v
->len
, ARRAY_CAPACITY_MIN
);
39 void* arr
= mem_realloc(v
->arr
, v
->siz
* cap
);
46 void array_call(const array_t
* v
, array_call_fn_t fn
)
48 array_it_t it
= array_begin(v
);
50 while (e
= array_it_next(&it
)) fn(it
.pos
- 1, e
);
This page took 0.03394 seconds and 4 git commands to generate.