Поделиться через


Интерфейс IModelIterator (dbgmodel.h)

Итератор содержащихся объектов (клиент реализуется и возвращается IIterableConcept).

Наследство

IModelIterator наследует от IUnknown.

Методика

Интерфейс IModelIterator имеет эти методы.

 
IModelIterator::AddRef

Метод IModelIterator::AddRef увеличивает число ссылок для интерфейса объекта.
IModelIterator::GetNext

Метод GetNext перемещает итератор вперед и извлекает следующий итерированный элемент.
IModelIterator::QueryInterface

Метод IModelIterator::QueryInterface извлекает указатели на поддерживаемые интерфейсы объекта.
IModelIterator::Release

Метод IModelIterator::Release уменьшает количество ссылок для интерфейса объекта.
IModelIterator::Reset

Метод Reset для итератора, возвращаемого из итерируемой концепции, восстановит положение итератора в том месте, где он был создан при первом создании итератора (до первого элемента).

Замечания

итерируемой концепции

Объект, который является контейнером других объектов и хочет выразить возможность итерации над этими содержащимися объектами, может поддерживать итерируемую концепцию путем реализации интерфейсов IIterableConcept и IModelIterator. Существует очень важная связь между поддержкой итерируемой концепции и поддержкой индексируемой концепции. Объект, поддерживающий случайный доступ к содержащимся объектам, может поддерживать индексируемую концепцию в дополнение к итерируемой концепции. В этом случае итерированные элементы также должны создать индекс по умолчанию, который при передаче в индексируемую концепцию относится к тому же объекту. Неспособность удовлетворить эту инвариантную ошибку приведет к неопределенному поведению в узле отладки.

Требования

Требование Ценность
заголовка dbgmodel.h