// // Created by stefan on 10.06.20. // #include "arena_list.h" #include #include bool isEqualTo3(void const *data) { int *value = (void *)data; return *value == 3; } int main() { Node arena[5]; AtomicArenaList al = alInit(arena, 5); int data[5] = {1, 2, 3, 4, 5}; for (int i = 0; i < 5; ++i) { alPush(&al, &data[4 - i]); } for (Node *cur = al.activeList.first; cur != NULL; cur = cur->next) { printf("Got digit %d \n", *(int *)cur->value); } Node const * node = alFindLastElem(&al, &isEqualTo3); int * value = (int *) node->value; printf("The value was actually %d \n", *value); assert(*value == 3); for (int i = 0; i < 5; ++i) { alRemoveElem(&al, &data[4 - i]); } }