An iterator allows you to access each element of the list in turn.
To create an iterator for a singly linked list of CMyClass elements,
defined as:
class CMyClass : public CBase
{
...
TSglQueLink iSlink;
...
};
first construct a Header:
TSglQue<CMyClass> queHeader(_FOFF(CMyClass,iSlink));
and then construct the Iterator. The iterator requires the header at construction time but the list can be empty:
TSglQueIter<CMyClass> queIter(queHeader);
The TSglQueIter class takes a class template parameter
that defines the type of object which is to form an element of the list.