16 {
17 ints arena = ints_new_with_capacity_for(12);
18 ints_insert(&arena, 23);
19 ints_insert(&arena, 42);
20 ints_insert(&arena, 1000);
21 ints_insert(&arena, 1001);
22
23 assert(ints_size(&arena) == 4);
24
25 ints_iter_const print_ints = ints_get_iter_const(&arena);
26 ITER_LOOP(ints_iter_const, print_ints, ints_iv_const, entry) {
27 printf("entry for %d at %d", *entry.value, entry.index.index);
28 }
29
30 ints_iter inc_ints = ints_get_iter(&arena);
31 ITER_LOOP(ints_iter, inc_ints, ints_iv, entry) {
32 printf("incrementing for %d = %d + 1 at %d", *entry.value, *entry.value, entry.index.index);
33 *entry.value += 1;
34 }
35
36 ints_delete(&arena);
37}
#define ITER_LOOP(ITER_TYPE, ITER_NAME, VALUE_TYPE, VALUE_NAME)