Newer
Older
c-interpreter / modules / main / src / main.c
Nomura Kei on 9 Aug 2023 1 KB UPDATE
#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;
}