bool palIListTest() { int_container i1,i2,i3,i4; i1.z = 1; i2.z = 2; i3.z = 3; i4.z = 4; palIList ilist_head; ilist_head.AddHead(&i1.list_node); ilist_head.AddHead(&i2.list_node); ilist_head.AddHead(&i3.list_node); ilist_head.AddHead(&i4.list_node); palIListForeachDeclare(int_container, list_node) fe(&ilist_head); while (fe.Finished() == false) { int_container* list_entry = fe.GetListEntry(); printf("%d\n", list_entry->z); fe.Next(); } return true; }
void palTimerEventManager::StepTimers(palTimerTick tick) { palIListForeachDeclare(palTimerEvent, list_node) fe(&list_head); while (fe.Finished() == false) { palTimerEvent* event = fe.GetListEntry(); if (event->IsEnabled()) { event->Step(tick); } fe.Next(); } }
bool palIListSortTest() { int_container a,b,c,d,e,f,g; a.z = palGenerateRandom(); b.z = palGenerateRandom(); c.z = palGenerateRandom(); d.z = palGenerateRandom(); e.z = palGenerateRandom(); f.z = palGenerateRandom(); g.z = palGenerateRandom(); palIList ilist_head; ilist_head.AddHead(&a.list_node); ilist_head.AddHead(&b.list_node); ilist_head.AddHead(&c.list_node); ilist_head.AddHead(&d.list_node); ilist_head.AddHead(&e.list_node); ilist_head.AddHead(&f.list_node); ilist_head.AddHead(&g.list_node); palIListSorterDeclare(int_container, list_node) sorter(&ilist_head); palIListForeachDeclare(int_container, list_node) fe(&ilist_head); printf("Unsorted\n"); while (fe.Finished() == false) { int_container* list_entry = fe.GetListEntry(); printf("%d\n", list_entry->z); fe.Next(); } sorter.Sort(int_container_compare); fe.First(); printf("Sorted\n"); while (fe.Finished() == false) { int_container* list_entry = fe.GetListEntry(); printf("%d\n", list_entry->z); fe.Next(); } return true; }
void palTrackingAllocator::ConsoleDump() const { palIListForeachDeclare(palTrackedAllocation, list_node) fe(const_cast<palIList*>(&_tracked_allocations)); if (fe.Finished()) { return; } palPrintf("Dumping leaks from %s\n", GetName()); while (fe.Finished() == false) { palTrackedAllocation* list_entry = fe.GetListEntry(); palPrintf("%p [%d]\n", list_entry->ptr, GetSize(list_entry->ptr)); int i = 0; while (list_entry->stacktrace[i] != NULL) { palPrintf(" %d: %s %p\n", i, palDebugLookupSymbol(list_entry->stacktrace[i], MAX_SYMBOL_NAME_LENGTH, _symbol_lookup_buffer), list_entry->stacktrace[i]); i++; } fe.Next(); } }