19 ints arena = ints_new_with_capacity_for(12, stdalloc_get());
20 ints_insert(&arena, 23);
21 ints_insert(&arena, 42);
22 ints_insert(&arena, 1000);
23 ints_insert(&arena, 1001);
27 FOR(ints, &arena, iter, entry) {
28 printf(
"entry for %d at %d\n", *entry.value, entry.index.index);
33 FOR(ints, &arena, iter, entry) {
34 printf(
"incrementing for %d = %d + 1 at %d\n", *entry.value, *entry.value,
73 foo_arena arena = foo_arena_new_with_capacity_for(12, stdalloc_get());
74 foo_arena_index_t index_a =
75 foo_arena_insert(&arena, (
struct foo){.x = 42, .y =
"A", .owned_data =
new_owned_int(3)});
76 foo_arena_index_t index_b =
77 foo_arena_insert(&arena, (
struct foo){.x = 41, .y =
"B", .owned_data =
new_owned_int(5)});
80 DC_ASSERT(foo_arena_full(&arena) ==
false);
81 DC_ASSERT(foo_arena_read(&arena, index_a)->x == 42);
82 DC_ASSERT(foo_arena_read(&arena, index_b)->x == 41);
84 foo_arena_write(&arena, index_b)->x = 100;
85 DC_ASSERT(foo_arena_read(&arena, index_b)->x == 100);
90 struct foo entry_a = foo_arena_remove(&arena, index_a);
93 foo_arena_delete(&arena);