#include <stdio.h> #include <string.h> #include <kc_memory.h> #include <kc_list.h> extern KcList* KcArrayList_new_ArrayList(size_t size, int cap); bool handler(const char* data) { printf("%s\n", data); return true; } typedef struct { int val1; int val2; } VVV; #ifndef UNITTEST int main() #else int dummy() #endif { VVV v1 = { .val1 = 1, .val2 = 11 }; VVV v2 = { .val1 = 2, .val2 = 22 }; VVV v3 = { .val1 = 3, .val2 = 33 }; VVV v4 = { .val1 = 4, .val2 = 44 }; VVV v5 = { .val1 = 5, .val2 = 55 }; KcList* list = KcArrayList_new_ArrayList(sizeof(VVV), 5); bool ret = list->add(list, list->size(list), &v1, 0); printf("ret = %d\n", ret); list->add(list, list->size(list), &v2, 0); printf("size=%d\n", list->size(list)); list->add(list, list->size(list), &v3, 0); printf("size=%d\n", list->size(list)); list->add(list, list->size(list), &v4, 0); printf("size=%d\n", list->size(list)); //// printf("-----\n"); for (int i = 0; i < list->size(list); i++) { VVV* gval = list->get(list, i, NULL); printf("[%d] %d %d\n", i, gval->val1, gval->val2); } //// list->remove(list, 2, NULL, NULL); //// printf("-----\n"); for (int i = 0; i < list->size(list); i++) { VVV* gval = list->get(list, i, NULL); printf("[%d] %d %d\n", i, gval->val1, gval->val2); } //// printf("size=%d\n", list->size(list)); list->add(list, 1, &v5, 0); printf("-----\n"); for (int i = 0; i < list->size(list); i++) { VVV* gval = list->get(list, i, NULL); printf("[%d] %d %d\n", i, gval->val1, gval->val2); } return 0; }