Spec-Zone .ru
спецификации, руководства, описания, API

Библиотека разработчика Mac

Разработчик

Ссылка класса OSOrderedSet

Опции
Развертывание Target:

На этой странице
Язык:

OSOrderedSet

OSOrderedSet обеспечивает хранилище упорядоченного набора объектов.

OSOrderedSet является контейнером для объектов C++ Libkern (полученные из OSMetaClassBase в определенном OSObject). Хранение и доступ следуют за логикой упорядоченного набора. Данный объект хранится в наборе только один раз, но Вы можете:

  • Определите функцию сортировки для автоматизированного упорядочивания (только после дополнения)

  • Вручную вставьте новые объекты в набор (переопределяющий сортирующий)

  • Добавьте и удалите объекты в наборе

  • Тест, содержит ли набор определенный объект

  • Сохраните объект в определенном индексе.

Наследование


Не применимый

Соответствует


Не применимый

Оператор импорта


Не применимый

Objective C

@import Kernel;

Доступность


Доступный в OS X v10.0 и позже.
  • Проверяет упорядоченный набор на присутствие объекта.

    Объявление

    C++

    virtual bool containsObject( const OSMetaClassBase *anObject) const;

    Параметры

    anObject

    OSMetaClassBase-производный-объект для проверки на в упорядоченном наборе.

    Возвращаемое значение

    true если anObject присутствует в упорядоченном наборе, false иначе.

    Обсуждение

    Равенство указателя используется. Эта функция возвраты false если передано NULL.

  • Создает глубокую копию этого упорядоченного набора и его дочерних наборов.

    Объявление

    C++

    OSCollection *copyCollection( OSDictionary *cycleDict = 0);

    Параметры

    cycleDict

    Словарь всех наборов, скопированных до сих пор, который используется для отслеживания циклических ссылок. Запустить копию на верхнем уровне, передаче NULL.

    Возвращаемое значение

    Недавно скопированный упорядоченный набор, с сохранить количеством 1, или NULL если существует недостаточно память, чтобы сделать копию.

    Обсуждение

    Упорядоченный набор получения и любые наборы, которые это содержит, рекурсивно, копируются. Объекты, не полученные из OSCollection, сохраняются, а не копируются.

  • Гарантирует, что набор имеет достаточно пространства для хранения требуемого числа отдельных объектов.

    Объявление

    C++

    virtual unsigned int ensureCapacity( unsigned intnewCapacity);

    Параметры

    newCapacity

    Общее количество отдельных объектов упорядоченный набор должно быть в состоянии сохранить.

    Возвращаемое значение

    Новая способность упорядоченного набора, который может отличаться от числа, которое требуют (если меньший, перераспределение отказавшего хранения).

    Обсуждение

    Эта функция сразу изменяет размеры упорядоченного набора, при необходимости, для размещения, по крайней мере, newCapacity отдельные объекты. Если newCapacity не больше, чем токовая нагрузка, или если ошибка выделения происходит, исходная способность возвращается.

    Нет никакого способа сократить способность OSOrderedSet.

  • Удаляет и выпускает все объекты в упорядоченном наборе.

    Объявление

    C++

    virtual void flushCollection();

    Обсуждение

    Способность упорядоченного набора (и поэтому потребление непосредственной памяти) не сокращена этой функцией.

  • Deallocatesand высвобождает любые средства, используемые экземпляром OSOrderedSet.

    Объявление

    C++

    virtual void free();

    Обсуждение

    Эта функция не должна быть вызвана непосредственно; использовать release вместо этого.

  • Возвращает число объектов, которые упорядоченный набор может хранить без перераспределения.

    Объявление

    C++

    virtual unsigned int getCapacity() const;

    Возвращаемое значение

    Число возражает, что упорядоченный набор может сохранить без перераспределения.

    Обсуждение

    Объекты OSOrderedSet растут, когда полный для размещения дополнительных объектов. Посмотрите getCapacityIncrement и ensureCapacity.

  • Возвращает инкремент хранения упорядоченного набора.

    Объявление

    C++

    virtual unsigned int getCapacityIncrement() const;

    Возвращаемое значение

    Инкремент хранения упорядоченного набора.

    Обсуждение

    OSOrderedSet выделяет хранение для объектов в сети магазинов полного инкремента.

  • Возвращает текущее число объектов в упорядоченном наборе.

    Объявление

    C++

    virtual unsigned int getCount() const;

    Возвращаемое значение

    Текущее число объектов в упорядоченном наборе.

  • Объект в индексе 0 в упорядоченном наборе, если существует один, иначе NULL.

    Объявление

    C++

    virtual OSObject * getFirstObject() const;

    Обсуждение

    Возвращенный объект будет выпущен, если удалено из упорядоченного набора; если Вы планируете сохранить ссылку, необходимо вызвать retain на том объекте.

  • Последний объект в упорядоченном наборе, если существует один, иначе NULL.

    Объявление

    C++

    virtual OSObject * getLastObject() const;

    Обсуждение

    Возвращенный объект будет выпущен, если удалено из упорядоченного набора; если Вы планируете сохранить ссылку, необходимо вызвать retain на том объекте.

  • Получает объект в определенном индексе.

    Объявление

    C++

    virtual OSObject * getObject( unsigned intindex) const;

    Параметры

    index

    Индекс в набор.

    Возвращаемое значение

    Объект в данном индексе, или NULL если ни один не существует в том расположении.

    Обсуждение

    Возвращенный объект будет выпущен, если удалено из набора; если Вы планируете сохранить ссылку, необходимо вызвать retain на том объекте.

  • Возвращает контекст упорядочивания, с которым создавался упорядоченный набор.

    Объявление

    C++

    virtual void * getOrderingRef();

    Возвращаемое значение

    Контекст упорядочивания упорядоченного набора, или NULL если это не имеет того.

  • Инициализирует новый экземпляр OSOrderedSet.

    Объявление

    C++

    virtual bool initWithCapacity( unsigned int capacity, OSOrderFunction orderFunc = 0, void *orderingContext = 0);

    Параметры

    capacity

    Способность исходной системы хранения нового объекта упорядоченного набора.

    orderFunc

    Функция C, реализующая алгоритм сортировки для набора.

    orderingContext

    Контекст упорядочивания, передающийся orderFunc.

    Возвращаемое значение

    true на успехе, false при отказе.

    Обсуждение

    Не для общего использования. Используйте статический метод создания экземпляра withCapacity вместо этого.

    capacity должно быть ненулевым. Новый набор будет расти по мере необходимости для размещения большего количества ключевых/объектных пар (в отличие от Базовых наборов Основы, для которых начальная способность является жестким пределом).

    Если orderFunc предоставлен, это используется setObject(const OSMetaClassBase *) определить, где вставить новый объект. Другие функции параметра объекта игнорируют упорядочивание.

    orderingContext не сохраняется или иначе управляется памятью упорядоченным набором. Если это должно быть освобождено, необходимо отследить ссылки на него и упорядоченный набор для освобождения его соответственно. Посмотрите getOrderingRef.

  • Тестирует равенство OSOrderedSet против произвольного объекта.

    Объявление

    C++

    virtual bool isEqualTo( const OSMetaClassBase *anObject) const;

    Параметры

    anObject

    Объект, сравниваемый с получателем.

    Возвращаемое значение

    true если два объекта эквивалентны, false иначе.

    Обсуждение

    Если другой объект получен из OSOrderedSet и выдерживает сравнение равный как OSOrderedSet, объект OSOrderedSet считают равным другому объекту.

  • Тестирует равенство двух объектов OSOrderedSet.

    Объявление

    C++

    virtual bool isEqualTo( const OSOrderedSet *anOrderedSet) const;

    Параметры

    anOrderedSet

    Объект упорядоченного набора, сравниваемый с получателем.

    Возвращаемое значение

    true если два набора эквивалентны, false иначе.

    Обсуждение

    Два объекта OSOrderedSet считают равными, если у них есть то же количество и те же объектные значения указателя в том же порядке.

  • Проверяет упорядоченный набор на присутствие объекта.

    Объявление

    C++

    virtual bool member( const OSMetaClassBase *anObject) const;

    Параметры

    anObject

    OSMetaClassBase-производный-объект для проверки на в упорядоченном наборе.

    Возвращаемое значение

    true если anObject присутствует в упорядоченном наборе, false иначе.

    Обсуждение

    Равенство указателя используется. Возвраты false если передано NULL.

    containsObject(const OSMetaClassBase *) проверки на NULL прежде, чем отсканировать содержание, и поэтому более эффективно, чем эта функция.

  • Вызывает функцию порядка упорядоченного набора против a NULL объект.

    Объявление

    C++

    virtual SInt32 orderObject( const OSMetaClassBase *anObject);

    Параметры

    anObject

    Объект, который будет упорядочен.

    Возвращаемое значение

    Значение упорядочивания для объекта.

    Обсуждение

    Это вызовы функции порядок упорядоченного набора функционирует с anObject, NULL, и контекст упорядочивания (или NULL если ни один не был установлен), и возвращает результат той функции.

  • Удаляет объект из упорядоченного набора.

    Объявление

    C++

    virtual void removeObject( const OSMetaClassBase *anObject);

    Параметры

    anObject

    OSMetaClassBase-производный-объект, который будет удален из упорядоченного набора.

    Обсуждение

    Объект, удаленный из упорядоченного набора, выпущен.

  • Устанавливает инкремент хранения упорядоченного набора.

    Объявление

    C++

    virtual unsigned int setCapacityIncrement( unsigned increment);

    Возвращаемое значение

    Новый инкремент хранения упорядоченного набора, который может отличаться от числа, которое требуют.

    Обсуждение

    OSOrderedSet выделяет хранение для объектов в сети магазинов полного инкремента. Вызывание этой функции сразу не перераспределяет хранение.

  • Добавляет объект к OSOrderedSet в индексе 0, если это уже не присутствует.

    Объявление

    C++

    virtual bool setFirstObject( const OSMetaClassBase *anObject);

    Параметры

    anObject

    OSMetaClassBase-производный-объект, который будет добавлен к упорядоченному набору.

    Возвращаемое значение

    true если anObject был успешно добавлен к упорядоченному набору, false иначе (включая то, если это уже было в упорядоченном наборе в каком-либо индексе).

    Обсуждение

    Набор добавляет хранение для размещения нового объекта, при необходимости. Если успешно добавлено, объект сохраняется.

    Эта функция игнорирует любую функцию упорядочивания упорядоченного набора и может разрушить автоматический механизм сортировки. Только вызовите эту функцию при управлении упорядоченным набором непосредственно.

    A false возвращаемое значение может означать любого это anObject уже присутствует в наборе, или что произошел сбой выделения памяти. Если необходимо знать, присутствует ли объект уже, использовать containsObject(const OSMetaClassBase *).

  • Добавляет объект в конце OSOrderedSet, если это уже не присутствует.

    Объявление

    C++

    virtual bool setLastObject( const OSMetaClassBase *anObject);

    Параметры

    anObject

    OSMetaClassBase-производный-объект, который будет добавлен к упорядоченному набору.

    Возвращаемое значение

    true если anObject был успешно добавлен к упорядоченному набору, false иначе (включая то, если это уже было в упорядоченном наборе в каком-либо индексе).

    Обсуждение

    Набор добавляет хранение для размещения нового объекта, при необходимости. Если успешно добавлено, объект сохраняется.

    Эта функция игнорирует любую функцию упорядочивания упорядоченного набора и может разрушить автоматический механизм сортировки. Только вызовите эту функцию при управлении упорядоченным набором непосредственно.

    A false возвращаемое значение может означать любого это anObject уже присутствует в наборе, или что произошел сбой выделения памяти. Если необходимо знать, присутствует ли объект уже, использовать containsObject(const OSMetaClassBase *).

  • Добавляет объект к OSOrderedSet, если это уже не присутствует, храня его в сортированном порядке, если существует функция порядка.

    Объявление

    C++

    virtual bool setObject( const OSMetaClassBase *anObject);

    Параметры

    anObject

    OSMetaClassBase-производный-объект, который будет добавлен к упорядоченному набору.

    Возвращаемое значение

    true если anObject был успешно добавлен к упорядоченному набору, false иначе (включая то, если это уже было в упорядоченном наборе).

    Обсуждение

    Набор добавляет хранение для размещения нового объекта, при необходимости. Если успешно добавлено, объект сохраняется.

    Если anObject уже не находится в упорядоченном наборе и существует функция порядка, этот функциональные циклы через существующие объекты, вызывая функцию порядка с параметрами каждый existingObject, anObject, и контекст упорядочивания (или NULL если ни один не был установлен), пока функция порядка не возвращает значение, больше, чем или равный 0. Это тогда вставляет anObject в индексе существующего объекта.

    Если нет никакой функции порядка, объект вставляется в индексе 0.

    A false возвращаемое значение может означать любого это anObject уже присутствует в наборе, или что произошел сбой выделения памяти. Если необходимо знать, присутствует ли объект уже, использовать containsObject(const OSMetaClassBase *).

  • Добавляет объект к OSOrderedSet в указанном индексе, если он уже не присутствует.

    Объявление

    C++

    virtual bool setObject( unsigned intindex, const OSMetaClassBase *anObject);

    Параметры

    index

    Индекс, в котором можно вставить новый объект.

    anObject

    OSMetaClassBase-производный-объект, который будет добавлен к упорядоченному набору.

    Возвращаемое значение

    true если объект был успешно добавлен к упорядоченному набору, false иначе (включая то, если это уже было в наборе).

    Обсуждение

    Набор добавляет хранение для размещения нового объекта, при необходимости. Если успешно добавлено, объект сохраняется.

    Эта функция игнорирует любую функцию упорядочивания упорядоченного набора и может разрушить автоматический механизм сортировки. Только вызовите эту функцию при управлении упорядоченным набором непосредственно.

    A false возвращаемое значение может означать или что объект уже присутствует в наборе, или что произошел сбой выделения памяти. Если необходимо знать, присутствует ли объект уже, использовать containsObject containsObject.

  • Объявление

    C++

    virtual unsigned setOptions( unsigned options, unsigned mask, void *context = 0);

    Параметры

    options

    Битовое поле, значения которого поворачивают опции на (1) или прочь (0).

    mask

    Маска, указывающая, который биты в options измениться. Передайте 0 для получения целого текущего битового поля опций, не изменяя настроек.

    context

    Неиспользованный.

    Возвращаемое значение

    Битовое поле опций, как это было перед операцией присвоения.

    Обсуждение

    Расширения ядра не должны вызывать эту функцию.

    Опции дочерних наборов изменяются, только если фактически изменяются опции упорядоченного набора получения.

  • Создает и инициализирует пустой OSOrderedSet.

    Объявление

    C++

    static OSOrderedSet * withCapacity( unsigned int capacity, OSOrderFunction orderFunc = 0, void *orderingContext = 0);

    Параметры

    capacity

    Способность исходной системы хранения нового объекта упорядоченного набора.

    orderFunc

    Функция C, реализующая алгоритм сортировки для набора.

    orderingContext

    Контекст упорядочивания, передающийся orderFunc.

    Возвращаемое значение

    Пустой экземпляр OSOrderedSet с сохранить количеством 1; NULL при отказе.

    Обсуждение

    capacity должно быть ненулевым. Новый OSOrderedSet будет расти по мере необходимости для размещения большего количества ключевых/объектных пар (в отличие от Базовых наборов Основы, для которых начальная способность является жестким пределом).

    Если orderFunc предоставлен, это используется setObject(const OSMetaClassBase *) определить, где вставить новый объект. Другие функции параметра объекта игнорируют упорядочивание.

    orderingContext не сохраняется или иначе управляется памятью упорядоченным набором. Если это должно быть освобождено, необходимо отследить ссылки на него и упорядоченный набор для освобождения его соответственно. Посмотрите getOrderingRef.

Обратные вызовы

  • Функция сортировки, используемая OSOrderedSet для упорядочивания объектов.

    Объявление

    C++

    typedef SInt32 ( *OSOrderFunction)( const OSMetaClassBase *obj1, const OSMetaClassBase *obj2, void *context);

    Параметры

    obj1

    Объект от упорядоченного набора. Может быть NULL.

    obj2

    Объект, упорядочиваемый в упорядоченном наборе. Может быть NULL.

    context

    Указатель на предоставленный пользователями контекст. Может быть NULL.

    Возвращаемое значение

    Результат сравнения объекта:

    • отрицательная величина, если obj2 должен предшествовать obj1,

    • положительное значение, если obj1 должен предшествовать obj2,

    • и 0, если obj1 и obj2 имеют эквивалентное упорядочивание.

    Оператор импорта

    Objective C

    #include <OSOrderedSet.h>;

    Доступность

    Доступный в OS X v10.0 через OS X v10.5.