154 elem->next() = after->next();
155 after->next() = elem;
203 list.
the_last->next() = after->next();
204 after->next() = list.
first();
220 if (after->next() ==
last())
222 after->next() = after->next()->next();
227 void remove(
const T *elem)
240 for (; after !=
the_last; after = after->next())
241 if (after->next() == elem)
258 if (
the_first != 0 && list.the_first != 0)
260 assert(
find(list.first()));
261 assert(
find(list.last()));
272 for (; after->next() != list.the_first; after = after->next())
277 after->next() = list.the_last->next();
283 void clear(
bool pDestroyElements =
false)
285 if( pDestroyElements )
288 for( T* it =
the_first; it; it = nextElement )
290 nextElement =
next(it);
326 return (elem ==
the_last) ? 0 : elem->next();
336 for (num = 1; test !=
the_last; test = test->next())
373 assert(part.
find(end));
374 part.
the_last =
const_cast<T*
>(end);
399 for (elem =
first(); elem; elem =
next(elem))
401 elem->next() =
reinterpret_cast<T*
>(
reinterpret_cast<char*
>(elem->next()) + delta);
408 #ifdef ENABLE_CONSISTENCY_CHECKS
432 IsList(T* pfirst = 0, T* plast = 0,
bool pDestroyElements =
false)