static int llist_basic() { LList l[1]; llist_init(l, sizeof(int)); pushfront(l, 3); pushback(l, 4); pushfront(l, 2); pushfront(l, 1); pushback(l, 5); assertEqual(l->size, 5); assertEqual(popfront(l), 1); assertEqual(popfront(l), 2); assertEqual(popfront(l), 3); assertEqual(popfront(l), 4); assertEqual(popfront(l), 5); assertEqual(l->size, 0); llist_close(l); return 0; }
INLINE T &addback() { if (n==max_n) popfront(); ++n; return items[(first+n-1)%max_n]; }