#include "libtf.h" #include void err(t_const_string msg) { printf("error: %s\n", msg); } int main() { t_memclass mc = mem_newclass(&err); int tab[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}; t_list list = list_createempty(mc); for (int i = 0; i < 5; i++) list_add(&err, &list, &tab[i]); for (int i = 5; i < 10; i++) list_revadd(&err, &list, &tab[i]); printf("9 8 7 6 5 0 1 2 3 4 = "); for (int i = 0; i < 10; i++) printf("%i ", *(int *)list_get(&err, &list, i)); printf("\n10 = %i\n", list_getsize(&list)); list_rotate(&list); printf("8 7 6 5 0 1 2 3 4 9 = "); for (int i = 0; i < 10; i++) printf("%i ", *(int *)list_get(&err, &list, i)); list_revrotate(&list); printf("\n9 8 7 6 5 0 1 2 3 4 = "); for (int i = 0; i < 10; i++) printf("%i ", *(int *)list_get(&err, &list, i)); printf("\n\n2 index errors:\n"); list_get(&err, &list, -1); list_get(&err, &list, 10); printf("10 = %i\n", list_getsize(&list)); printf("\n"); for (int i = 9; i > 4; i--) { int value = *(int *)list_pop(&err, &list); printf("%i = %i\n", i, value); } printf("5 = %i\n", list_getsize(&list)); for (int i = 4; i >= 0; i--) { int value = *(int *)list_revpop(&err, &list); printf("%i = %i\n", i, value); } printf("0 = %i\n", list_getsize(&list)); printf("\n2 empty list errors:\n"); list_pop(&err, &list); list_revpop(&err, &list); mem_freeall(mc); printf("\nMust have no leaks\n"); }