Материалы книги получены с http://www.itlibitum.ru/
Итератор ведущих указателей
Итератор ведущих указателей устроен элементарно. Он просто перебирает элементы списка от начала к концу - иначе говоря, от нижних адресов памяти к верхним.
class VoidPtrPoolIterator : public VoidPtrIterator {
private:
VoidPtr* next;
public:
VoidPtrIterator(VoidPtr* first) : next(first) {}
virtual bool More() { return next != NULL; }
virtual VoidPtr* Next()
{
VoidPtr* vp = next;
next = next->next;
return vp;
}
};
VoidPtrIterator* VoidPtrPool::iterator()
{
return new VoidPtrPoolIterator(&head.next);
}
Назад Содержание Далее
|