| 
					
				 | 
			
			
				@@ -4,179 +4,182 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #include "core/ToString.h" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #include "core/Vector.h" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+LIST(size_t, Size) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+LIST(Vector3, V3) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 static void testAdd() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    List list; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    initList(&list, sizeof(size_t)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    addListType(&list, size_t, 5); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    TEST_SIZE(5, getTypedListIndex(&list, 0, size_t)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ListSize list; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    initListSize(&list); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    addListDataSize(&list, 5); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    TEST_SIZE(5, *getListIndexSize(&list, 0)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     TEST_SIZE(1, list.length); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    destroyList(&list); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    destroyListSize(&list); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 static void testMultipleAdd() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    List list; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    initList(&list, sizeof(size_t)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    addListType(&list, size_t, 4); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    addListType(&list, size_t, 3); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    addListType(&list, size_t, 2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    TEST_SIZE(4, getTypedListIndex(&list, 0, size_t)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    TEST_SIZE(3, getTypedListIndex(&list, 1, size_t)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    TEST_SIZE(2, getTypedListIndex(&list, 2, size_t)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    TEST_SIZE(2, getTypedListLast(&list, size_t)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ListSize list; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    initListSize(&list); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    addListDataSize(&list, 4); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    addListDataSize(&list, 3); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    addListDataSize(&list, 2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    TEST_SIZE(4, *getListIndexSize(&list, 0)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    TEST_SIZE(3, *getListIndexSize(&list, 1)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    TEST_SIZE(2, *getListIndexSize(&list, 2)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    TEST_SIZE(2, *getListLastSize(&list)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     TEST_SIZE(3, list.length); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    destroyList(&list); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    destroyListSize(&list); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 static void testAddLast() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    List list; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    initList(&list, sizeof(size_t)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    addListType(&list, size_t, 4); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    addListType(&list, size_t, 3); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    addLastListData(&list); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    TEST_SIZE(4, getTypedListIndex(&list, 0, size_t)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    TEST_SIZE(3, getTypedListIndex(&list, 1, size_t)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    TEST_SIZE(3, getTypedListIndex(&list, 2, size_t)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ListSize list; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    initListSize(&list); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    addListDataSize(&list, 4); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    addListDataSize(&list, 3); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    addLastListDataSize(&list); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    TEST_SIZE(4, *getListIndexSize(&list, 0)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    TEST_SIZE(3, *getListIndexSize(&list, 1)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    TEST_SIZE(3, *getListIndexSize(&list, 2)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     TEST_SIZE(3, list.length); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    destroyList(&list); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    destroyListSize(&list); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 static void testAddReplace() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    List list; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    initList(&list, sizeof(size_t)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    addListType(&list, size_t, 5); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    getTypedListIndex(&list, 0, size_t) = 3; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    TEST_SIZE(3, getTypedListIndex(&list, 0, size_t)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    destroyList(&list); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ListSize list; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    initListSize(&list); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    addListDataSize(&list, 5); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    *getListIndexSize(&list, 0) = 3; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    TEST_SIZE(3, *getListIndexSize(&list, 0)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    destroyListSize(&list); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 static void testClear() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    List list; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    initList(&list, sizeof(size_t)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    addListType(&list, size_t, 5); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    addListType(&list, size_t, 4); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    clearList(&list); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ListSize list; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    initListSize(&list); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    addListDataSize(&list, 5); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    addListDataSize(&list, 4); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    clearListSize(&list); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     TEST_SIZE(0, list.length); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    destroyList(&list); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    destroyListSize(&list); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 static void testBigAdd(bool light) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     size_t limit = light ? 10000 : 100000; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    List list; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    initList(&list, sizeof(size_t)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ListSize list; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    initListSize(&list); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     for(size_t i = 0; i < limit; i++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        addListType(&list, size_t, i); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        addListDataSize(&list, i); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     for(size_t i = 0; i < list.length; i++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        TEST_SIZE(i, getTypedListIndex(&list, i, size_t)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        TEST_SIZE(i, *getListIndexSize(&list, i)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     TEST_SIZE(limit, list.length); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    destroyList(&list); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    destroyListSize(&list); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 static void testToString1() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    List list; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    initList(&list, sizeof(size_t)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    addListType(&list, size_t, 1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    addListType(&list, size_t, 243); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    addListType(&list, size_t, 423); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ListSize list; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    initListSize(&list); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    addListDataSize(&list, 1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    addListDataSize(&list, 243); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    addListDataSize(&list, 423); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     char buffer[128]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    size_t n = toString(&list, buffer, sizeof(buffer), toStringSize); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    size_t n = toStringListSize(&list, buffer, sizeof(buffer), toStringSize); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     TEST_SIZE(13, n); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     TEST_STRING("[1, 243, 423]", buffer); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    destroyList(&list); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    destroyListSize(&list); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 static void testToString2() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    List list; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    initList(&list, sizeof(size_t)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    addListType(&list, size_t, 1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ListSize list; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    initListSize(&list); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    addListDataSize(&list, 1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     char buffer[128]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    size_t n = toString(&list, buffer, sizeof(buffer), toStringSize); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    size_t n = toStringListSize(&list, buffer, sizeof(buffer), toStringSize); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     TEST_SIZE(3, n); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     TEST_STRING("[1]", buffer); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    destroyList(&list); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    destroyListSize(&list); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 static void testToString3() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    List list; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    initList(&list, sizeof(size_t)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ListSize list; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    initListSize(&list); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     char buffer[128]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    size_t n = toString(&list, buffer, sizeof(buffer), toStringSize); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    size_t n = toStringListSize(&list, buffer, sizeof(buffer), toStringSize); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     TEST_SIZE(2, n); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     TEST_STRING("[]", buffer); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    destroyList(&list); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    destroyListSize(&list); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 static void testRemoveBySwap() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    List list; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    initList(&list, sizeof(size_t)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    addListType(&list, size_t, 4); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    addListType(&list, size_t, 3); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    addListType(&list, size_t, 2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    removeListIndexBySwap(&list, 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    TEST_SIZE(2, getTypedListIndex(&list, 0, size_t)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    TEST_SIZE(3, getTypedListIndex(&list, 1, size_t)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ListSize list; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    initListSize(&list); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    addListDataSize(&list, 4); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    addListDataSize(&list, 3); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    addListDataSize(&list, 2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    removeListIndexBySwapSize(&list, 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    TEST_SIZE(2, *getListIndexSize(&list, 0)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    TEST_SIZE(3, *getListIndexSize(&list, 1)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     TEST_SIZE(2, list.length); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    removeListIndexBySwap(&list, 1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    TEST_SIZE(2, getTypedListIndex(&list, 0, size_t)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    removeListIndexBySwapSize(&list, 1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    TEST_SIZE(2, *getListIndexSize(&list, 0)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     TEST_SIZE(1, list.length); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    removeListIndexBySwap(&list, 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    removeListIndexBySwapSize(&list, 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     TEST_SIZE(0, list.length); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    destroyList(&list); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    destroyListSize(&list); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 static void testRemove() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    List list; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    initList(&list, sizeof(size_t)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    addListType(&list, size_t, 4); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    addListType(&list, size_t, 3); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    addListType(&list, size_t, 2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    removeListIndex(&list, 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    TEST_SIZE(3, getTypedListIndex(&list, 0, size_t)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    TEST_SIZE(2, getTypedListIndex(&list, 1, size_t)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ListSize list; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    initListSize(&list); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    addListDataSize(&list, 4); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    addListDataSize(&list, 3); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    addListDataSize(&list, 2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    removeListIndexSize(&list, 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    TEST_SIZE(3, *getListIndexSize(&list, 0)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    TEST_SIZE(2, *getListIndexSize(&list, 1)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     TEST_SIZE(2, list.length); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    removeListIndex(&list, 1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    TEST_SIZE(3, getTypedListIndex(&list, 0, size_t)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    removeListIndexSize(&list, 1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    TEST_SIZE(3, *getListIndexSize(&list, 0)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     TEST_SIZE(1, list.length); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    removeListIndex(&list, 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    removeListIndexSize(&list, 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     TEST_SIZE(0, list.length); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    destroyList(&list); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    destroyListSize(&list); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 static void testRemoveLast() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    List list; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    initList(&list, sizeof(size_t)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    addListType(&list, size_t, 4); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    addListType(&list, size_t, 3); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    addListType(&list, size_t, 2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    removeListLast(&list); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    TEST_SIZE(4, getTypedListIndex(&list, 0, size_t)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    TEST_SIZE(3, getTypedListIndex(&list, 1, size_t)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ListSize list; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    initListSize(&list); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    addListDataSize(&list, 4); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    addListDataSize(&list, 3); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    addListDataSize(&list, 2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    removeListLastSize(&list); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    TEST_SIZE(4, *getListIndexSize(&list, 0)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    TEST_SIZE(3, *getListIndexSize(&list, 1)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     TEST_SIZE(2, list.length); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    removeListLast(&list); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    TEST_SIZE(4, getTypedListIndex(&list, 0, size_t)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    removeListLastSize(&list); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    TEST_SIZE(4, *getListIndexSize(&list, 0)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     TEST_SIZE(1, list.length); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    removeListLast(&list); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    removeListLastSize(&list); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     TEST_SIZE(0, list.length); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    destroyList(&list); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    destroyListSize(&list); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 static void testInvalidReserve() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    List list; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    initList(&list, sizeof(size_t)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    reserveListEntries(&list, 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    destroyList(&list); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ListSize list; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    initListSize(&list); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    reserveListEntriesSize(&list, 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    destroyListSize(&list); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 static void testStruct() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    List list; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ListV3 list; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     Vector3 v = {{1, 2, 3}}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    initList(&list, sizeof(v)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    addListData(&list, &v); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    addListType(&list, Vector3, {2, 3, 4}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    Vector3* entry = getListIndex(&list, 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    initListV3(&list); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    addListDataV3(&list, v); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    addListDataV3(&list, (Vector3){2, 3, 4}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    Vector3* entry = getListIndexV3(&list, 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     TEST_V3(&v, entry); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    destroyList(&list); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    destroyListV3(&list); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 void testList(bool light) { 
			 |