OSIterator
Абстрактный суперкласс для итераторов Libkern.
OSIterator является абстрактным суперклассом для всех итераторов объекта C++ Libkern. Это определяет основной интерфейс для итерации и сброса. См. OSCollection и OSCollectionIterator для получения дополнительной информации.
За очень немногими исключениями в Наборе I/O все находящиеся в Libkern классы C++, функции и макросы небезопасны использовать в основном контексте прерывания. Консультируйтесь с документацией Набора I/O, связанной с основными прерываниями для получения дополнительной информации.
OSIterator не обеспечивает защиты параллелизма.
Наследование
Не применимый
Соответствует
Не применимый
Оператор импорта
Не применимый
Objective C
@import Kernel;
Доступность
Доступный в OS X v10.0 и позже.
-
Усовершенствования к и возвраты следующий объект в итерации.
Объявление
C++
virtual OSObject *getNextObject() = 0;Возвращаемое значение
Следующий объект в итеративном контексте,
NULLесли итератор больше не действителен, если существует никакой следующий объект или.Обсуждение
Возвращенный объект будет выпущен, если удалено из набора; если Вы планируете сохранить ссылку, необходимо вызвать
retainна том объекте.Подклассы должны реализовать эту чистую виртуальную функцию для проверки на законность с
isValid, и затем усовершенствовать итеративный контекст к следующему объекту (если таковые имеются) и возврат, которые затем возражают, илиNULLесли нет ни одного. -
Проверьте, что набор не был изменен во время итерации.
Объявление
C++
virtual bool isValid() = 0;Возвращаемое значение
trueесли итератор допустим для продолжительного использования,falseиначе (обычно, потому что выполняемый с помощью итераций набор был изменен).Обсуждение
Подклассы должны реализовать эту чисто виртуальную функцию-член.
-
Сбрасывает итератор к началу набора, как будто это было просто создано.
Объявление
C++
virtual void reset() = 0;Обсуждение
Подклассы должны реализовать эту чисто виртуальную функцию-член.
