void CheckListNodes ( List& il, int valueStep ) { int i; Iterator it = il.begin(); for ( i = valueStep - 1; it != il.end(); ++it, i += valueStep ) { ASSERT( it->Data() == i, "Unexpected node value while iterating forward" ); ASSERT( (*it).m_Canary == NoliMeTangere, "Memory corruption" ); } ASSERT( i == NumElements + valueStep - 1, "Wrong number of list elements while iterating forward" ); it = il.end(); for ( i = NumElements - 1, it--; it != il.end(); --it, i -= valueStep ) { ASSERT( (*it).Data() == i, "Unexpected node value while iterating backward" ); ASSERT( it->m_Canary == NoliMeTangere, "Memory corruption" ); } ASSERT( i == -1, "Wrong number of list elements while iterating backward" ); }