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

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

Разработчик

Ссылка класса OSSymbol

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

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

OSSymbol

OSSymbol обертывает струну до в уникальный объект C++ для использования в качестве ключей в наборах Libkern.

OSSymbol является контейнерным классом для управления uniqued строки, например, используемые в качестве ключей словаря. Его статическое создание экземпляра функционирует проверка на существующий экземпляр OSSymbol с требуемым значением струны до прежде, чем создать новый объект. Если экземпляр уже существует в пуле уникальных символов, его подсчет ссылок постепенно увеличивается, и существующий экземпляр возвращается.

В то время как OSSymbol предусматривает uniquing данного строкового значения, это не прилагает усилия для осуществления неизменности того значения. Изменения содержания OSSymbol нужно избежать.

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

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

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

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


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

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


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

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


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

Objective C

@import Kernel;

Доступность


Доступный в OS X v10.0 и позже.
  • Переопределения OSObject::free синхронизироваться с пулом символа.

    Объявление

    C++

    virtual void free();

    Обсуждение

    Поскольку OSSymbol совместно использует экземпляры, функции подсчета ссылок должны синхронизироваться, доступ к внутренним классом таблицам раньше отслеживал те экземпляры.

  • Переопределенный для предотвращения создания двойных символов.

    Объявление

    C++

    virtual bool initWithCString( const char *cString);

    Параметры

    cString

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

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

    false.

    Обсуждение

    Реализация OSString's переопределений для предотвращения создания отличного OSSymbols с тем же строковым значением.

  • Переопределенный для предотвращения создания двойных символов.

    Объявление

    C++

    virtual bool initWithCStringNoCopy( const char *cString);

    Параметры

    cString

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

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

    false.

    Обсуждение

    Реализация OSString's переопределений для предотвращения создания отличного OSSymbols с тем же строковым значением.

  • Переопределенный для предотвращения создания двойных символов.

    Объявление

    C++

    virtual bool initWithString( const OSString *aString);

    Параметры

    aString

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

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

    false.

    Обсуждение

    Реализация OSString's переопределений для предотвращения создания отличного OSSymbols с тем же строковым значением.

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

    Объявление

    C++

    virtual bool isEqualTo( const OSMetaClassBase *anObject) const;

    Параметры

    anObject

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

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

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

    Обсуждение

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

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

    Объявление

    C++

    virtual bool isEqualTo( const char *cString) const;

    Параметры

    cString

    Струна до для сравнения с получателем.

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

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

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

    Объявление

    C++

    virtual bool isEqualTo( const OSSymbol *aSymbol) const;

    Параметры

    aSymbol

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

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

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

    Обсуждение

    Два объекта OSSymbol считают равными, если у них есть тот же адрес; т.е. эта функция эквивалентна == оператор.

  • Переопределения OSObject::taggedRelease(const void *) синхронизироваться с пулом символа.

    Объявление

    C++

    virtual void taggedRelease( const void *tag) const;

    Параметры

    tag

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

    Обсуждение

    Поскольку OSSymbol совместно использует экземпляры, функции подсчета ссылок должны синхронизироваться, доступ к внутренним классом таблицам раньше отслеживал те экземпляры.

  • Переопределения OSObject::taggedRelease(const void *, const int) синхронизироваться с пулом символа.

    Объявление

    C++

    virtual void taggedRelease( const void *tag, const intfreeWhen) const;

    Параметры

    tag

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

    freeWhen

    Если постепенное уменьшение подсчета ссылок делает его> = freeWhen, объект сразу освобожден.

    Обсуждение

    Поскольку OSSymbol совместно использует экземпляры, функции подсчета ссылок должны синхронизироваться, доступ к внутренним классом таблицам раньше отслеживал те экземпляры.

  • Возвращает OSSymbol, создаваемый из струны до или существующего уникального экземпляра того же значения.

    Объявление

    C++

    static const OSSymbol * withCString( const char *cString);

    Параметры

    cString

    Струна до, чтобы искать или скопировать.

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

    Экземпляр OSSymbol представление тех же символов как cString; NULL при отказе.

    Обсуждение

    Эта функция возвращает уникальный экземпляр OSSymbol, представляющий строковое значение cString. Можно сравнить его с другим OSSymbols использование == оператор.

    OSSymbols обычно считаются на ссылку. Эта функция или возвращает новый OSSymbol с сохранить количеством 1 или постепенно увеличивает сохранить количество существующего экземпляра.

  • Возвращает OSSymbol, создаваемый из струны до, не копируя ту строку или существующий уникальный экземпляр того же значения.

    Объявление

    C++

    static const OSSymbol * withCStringNoCopy( const char *cString);

    Параметры

    cString

    Струна до, чтобы искать или использовать.

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

    Экземпляр OSSymbol представление тех же символов как cString; NULL.

    Обсуждение

    Избегайте использования этой функции; OSSymbols должны принадлежать их внутренние строковые буферы.

    Эта функция возвращает уникальный экземпляр OSSymbol, представляющий строковое значение cString. Можно сравнить его с другим OSSymbols использование == оператор.

    OSSymbols обычно считаются на ссылку. Эта функция или возвращает новый OSSymbol с сохранить количеством 1 или постепенно увеличивает сохранить количество существующего экземпляра.

  • Возвращает OSSymbol, создаваемый из OSString или существующего уникального экземпляра того же значения.

    Объявление

    C++

    static const OSSymbol * withString( const OSString *aString);

    Параметры

    aString

    OSString возражают, чтобы искать или скопировать.

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

    Экземпляр OSSymbol представление тех же символов как aString; NULL при отказе.

    Обсуждение

    Эта функция создает или возвращает уникальный экземпляр OSSymbol, представляющий строковое значение aString. Можно сравнить его с другим OSSymbols использование == оператор.

    OSSymbols обычно считаются на ссылку. Эта функция или возвращает новый OSSymbol с сохранить количеством 1 или постепенно увеличивает сохранить количество существующего экземпляра.