To create an iterator for a doubly linked list of
CMyClass
elements, defined as:
class CMyClass : public CBase
{
...
TDblQueLink iDlink;
...
};
first construct a header:
TDblQue<CMyClass> queHeader(_FOFF(CMyClass,iDlink));
and then construct the iterator. The iterator requires the header at construction time but the list can be empty:
TDblQueIter<CMyClass> queIter(queHeader);
The TDblQueIter
class takes a class template parameter
that defines the type of object which is to form an element of the list.