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

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

Разработчик

Ссылка класса OSSet

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

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

OSSet

OSSet обеспечивает неупорядоченное приданное значение объектов.

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

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

Используйте ограничения

За очень немногими исключениями в Наборе I/O все находящиеся в Libkern классы C++, функции и макросы небезопасны использовать в основном контексте прерывания. Консультируйтесь с документацией Набора I/O, связанной с основными прерываниями для получения дополнительной информации.

OSSet не обеспечивает защиты параллелизма; это до контекста использования для обеспечивания любой необходимой защиты. Некоторые части Набора I/O, такие как IORegistryEntry, обрабатывают синхронизацию через определенные функции членства для установки свойств.

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


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

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


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

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


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

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 не больше, чем токовая нагрузка, или если ошибка выделения происходит, исходная способность возвращается.

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

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

    Объявление

    C++

    virtual void flushCollection();

    Обсуждение

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

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

    Объявление

    C++

    virtual void free();

    Обсуждение

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

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

    Объявление

    C++

    virtual OSObject * getAnyObject() const;

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

    Произвольное (не случайный) возражает, существуете ли Вы в наборе.

    Обсуждение

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

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

    Объявление

    C++

    virtual unsigned int getCapacity() const;

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

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

    Обсуждение

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

  • Возвращает инкремент хранения набора.

    Объявление

    C++

    virtual unsigned int getCapacityIncrement() const;

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

    Инкремент хранения набора.

    Обсуждение

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

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

    Объявление

    C++

    virtual unsigned int getCount() const;

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

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

  • Инициализирует новый OSSet, заполненный с содержанием OSArray.

    Объявление

    C++

    virtual bool initWithArray( const OSArray *array, unsigned int capacity = 0);

    Параметры

    array

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

    capacity

    Способность исходной системы хранения нового объекта набора. Если 0, способность установлена в число объектов в array; иначе capacity должно быть больше, чем или равным числу объектов в array.

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

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

    Обсуждение

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

    array должен быть не -NULL. Если capacity является ненулевым, это должно быть больше, чем или равным count. Новый массив будет расти по мере необходимости для размещения большего количества пар ключевого объекта (в отличие от CFMutableSet, для которого начальная способность является жестким пределом).

    Объекты в array сохраняются для хранения в новом наборе, не скопированном.

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

    Объявление

    C++

    virtual bool initWithCapacity( unsigned intcapacity);

    Параметры

    capacity

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

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

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

    Обсуждение

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

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

  • Инициализирует новый OSSet, заполненный с предоставленными объектами.

    Объявление

    C++

    virtual bool initWithObjects( const OSObject *objects[], unsigned int count, unsigned int capacity = 0);

    Параметры

    objects

    Массив C OSObject-производных-объектов.

    count

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

    capacity

    Способность исходной системы хранения нового объекта набора. Если 0, count используется; иначе это значение должно быть больше, чем или равным count.

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

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

    Обсуждение

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

    objects должен быть не -NULL, и count должно быть ненулевым. Если capacity является ненулевым, это должно быть больше, чем или равным count. Новый массив будет расти по мере необходимости для размещения большего количества пар ключевого объекта (в отличие от CFMutableSet, для которого начальная способность является жестким пределом).

    Объекты в objects сохраняются для хранения в новом наборе, не скопированном.

  • Инициализирует новый OSSet, заполненный с содержанием другого OSSet.

    Объявление

    C++

    virtual bool initWithSet( const OSSet *set, unsigned int capacity = 0);

    Параметры

    set

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

    capacity

    Способность исходной системы хранения нового объекта набора. Если 0, способность установлена в число объектов в set; иначе capacity должно быть больше, чем или равным числу объектов в set.

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

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

    Обсуждение

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

    set должен быть не -NULL. Если capacity является ненулевым, это должно быть больше, чем или равным count. Новый набор будет расти по мере необходимости для размещения большего количества пар ключевого объекта (в отличие от CFMutableSet, для которого начальная способность является жестким пределом).

    Объекты в set сохраняются для хранения в новом наборе, не скопированном.

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

    Объявление

    C++

    virtual bool isEqualTo( const OSMetaClassBase *anObject) const;

    Параметры

    anObject

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

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

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

    Обсуждение

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

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

    Объявление

    C++

    virtual bool isEqualTo( const OSSet *aSet) const;

    Параметры

    aSet

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

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

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

    Обсуждение

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

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

    Объявление

    C++

    virtual bool member( const OSMetaClassBase *anObject) const;

    Параметры

    anObject

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

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

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

    Обсуждение

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

    containsObject проверки на NULL во-первых, и поэтому более эффективно, чем эта функция.

  • Добавляет содержание OSArray к набору.

    Объявление

    C++

    virtual bool merge( const OSArray *array);

    Параметры

    array

    Объект OSArray, содержащий объекты, которые будут добавлены.

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

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

    Обсуждение

    Это функционирует, добавляет к получению, устанавливает все объекты от array это уже не находится в наборе получения. Сохраняются объекты, добавленные к получателю.

    В выпусках до 10,7, возвратилась бы эта функция false если объект от array уже присутствовал в наборе, или если array было пусто. Это больше не имеет место, таким образом, правильно возвращается эта функция true когда встречено семантическое из слияния.

  • Добавляет содержание OSet к набору.

    Объявление

    C++

    virtual bool merge( const OSSet *set);

    Параметры

    set

    Объект OSSet, содержащий объекты, которые будут добавлены.

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

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

    Обсуждение

    Это функционирует, добавляет к получению, устанавливает все объекты от set это уже не находится в наборе получения. Сохраняются объекты, добавленные к получателю.

    В выпусках до 10,7, возвратилась бы эта функция false если объект от set уже присутствовал в наборе, или если set было пусто. Это больше не имеет место, таким образом, правильно возвращается эта функция true когда встречено семантическое из слияния.

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

    Объявление

    C++

    virtual void removeObject( const OSMetaClassBase *anObject);

    Параметры

    anObject

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

    Обсуждение

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

  • Архивирует получатель в предоставленный объект OSSerialize.

    Объявление

    C++

    virtual bool serialize( OSSerialize *serializer) const;

    Параметры

    serializer

    Объект OSSerialize.

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

    true если сериализация успешно выполняется, false если нет.

  • Устанавливает инкремент хранения набора.

    Объявление

    C++

    virtual unsigned int setCapacityIncrement( unsigned increment);

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

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

    Обсуждение

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

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

    Объявление

    C++

    virtual bool setObject( const OSMetaClassBase *anObject);

    Параметры

    anObject

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

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

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

    Обсуждение

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

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

  • Рекурсивно биты опции наборов в наборе и всех дочерних наборах.

    Объявление

    C++

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

    Параметры

    options

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

    mask

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

    context

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

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

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

    Обсуждение

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

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

  • Создает и инициализирует OSSet, заполненный с содержанием OSArray.

    Объявление

    C++

    static OSSet * withArray( const OSArray *array, unsigned int capacity = 0);

    Параметры

    array

    Массив, объекты которого будут храниться в новом OSSet.

    capacity

    Способность исходной системы хранения нового объекта набора. Если 0, способность установлена в число объектов в array; иначе capacity должно быть больше, чем или равным числу объектов в array.

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

    Экземпляр OSSet, содержащего объекты array, с сохранить количеством 1; NULL при отказе.

    Обсуждение

    Каждый отдельный объект в array добавляется к новому набору.

    array должен быть не -NULL. Если capacity является ненулевым, это должно быть больше, чем или равным count. Новый OSSet будет расти по мере необходимости для размещения большего количества пар ключевого объекта (в отличие от CFMutableSet, для которого начальная способность является жестким пределом).

    Объекты в array сохраняются для хранения в новом наборе, не скопированном.

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

    Объявление

    C++

    static OSSet * withCapacity( unsigned intcapacity);

    Параметры

    capacity

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

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

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

    Обсуждение

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

  • Создает и инициализирует OSSet, заполненный с предоставленными объектами.

    Объявление

    C++

    static OSSet * withObjects( const OSObject *objects[], unsigned int count, unsigned int capacity = 0);

    Параметры

    objects

    Массив C OSMetaClassBase-производных-объектов.

    count

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

    capacity

    Способность исходной системы хранения нового объекта набора. Если 0, count используется; иначе это значение должно быть больше, чем или равным count.

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

    Экземпляр OSSet, содержащего объекты, если, с сохранить количеством 1; NULL при отказе.

    Обсуждение

    objects должен быть не -NULL, и count должно быть ненулевым. Если capacity является ненулевым, это должно быть больше, чем или равным count. Новый OSSet будет расти по мере необходимости для размещения большего количества объектов (в отличие от CFMutableSet, для которого начальная способность является жестким пределом).

    Объекты в objects сохраняются для хранения в новом наборе, не скопированном.

  • Создает и инициализирует OSSet, заполненный с содержанием другого OSSet.

    Объявление

    C++

    static OSSet * withSet( const OSSet *set, unsigned int capacity = 0);

    Параметры

    set

    OSSet, содержание которого будет сохранено в новом экземпляре.

    capacity

    Способность исходной системы хранения объекта набора. Если 0, способность установлена в число объектов в set; иначе capacity должно быть больше, чем или равным числу объектов в array.

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

    Экземпляр OSArray, содержащего объекты set, с сохранить количеством 1; NULL при отказе.

    Обсуждение

    set должен быть не -NULL. Если capacity является ненулевым, это должно быть больше, чем или равным count. Массив будет расти по мере необходимости для размещения большего количества пар ключевого объекта (в отличие от CFMutableSet, для которого начальная способность является жестким пределом).

    Объекты в set сохраняются для хранения в новом наборе, не скопированном.