OSNumber
OSNumber обертывает целочисленное значение в объект C++ для использования в наборах Libkern.
OSNumber представляет целое число 8, 16, 32, или 64 бита как объект C++ Libkern. Объекты OSNumber являются непостоянными: можно добавить к или установить их значения.
Используйте ограничения
За очень немногими исключениями в Наборе I/O все находящиеся в Libkern классы C++, функции и макросы небезопасны использовать в основном контексте прерывания. Консультируйтесь с документацией Набора I/O, связанной с основными прерываниями для получения дополнительной информации.
OSNumber не обеспечивает защиты параллелизма; это до контекста использования для обеспечивания любой необходимой защиты. Некоторые части Набора I/O, такие как IORegistryEntry, обрабатывают синхронизацию через определенные функции членства для установки свойств.
Наследование
Не применимый
Соответствует
Не применимый
Оператор импорта
Не применимый
Objective C
@import Kernel;
Доступность
Доступный в OS X v10.0 и позже.
-
Добавляет, что целое число со знаком оценивает внутреннему целочисленному значению объекта OSNumber.
Объявление
C++
virtual void addValue( signed long longvalue);Параметры
valueЗначение, которое будет добавлено.
Обсуждение
Эта функция добавляет значения как 64-разрядные целые числа, но маскирует результат диаметром долота (см.
numberOfBits), таким образом, дополнительное переполнение не обязательно совпадет с для простых целых чисел К. -
Освобождает или высвобождает любые средства, используемые экземпляром OSNumber.
Объявление
C++
virtual void free();Обсуждение
Эта функция не должна быть вызвана непосредственно; использовать
releaseвместо этого. -
Инициализирует экземпляр OSNumber со значением целого без знака, представленным как струна до.
Объявление
C++
virtual bool init( const char *valueString, unsigned intnumberOfBits);Параметры
valueStringСтруна до, представляющая числовое значение для OSNumber для хранения.
numberOfBitsЧисло битов для ограничения хранения.
Возвращаемое значение
trueесли инициализация успешно выполняется,falseпри отказе.Обсуждение
Не для общего использования. Используйте статический метод создания экземпляра
withNumber(const char *, unsigned int)вместо этого. -
init (длинный длинный, интервал без знака без знака) - init (длинный длинный, интервал без знака без знака)Инициализирует экземпляр OSNumber с целочисленным значением.
Объявление
C++
virtual bool init( unsigned long longvalue, unsigned intnumberOfBits);Параметры
valueЧисловое целочисленное значение для OSNumber для хранения.
numberOfBitsЧисло битов для ограничения хранения.
Возвращаемое значение
trueесли инициализация успешно выполняется,falseпри отказе.Обсуждение
Не для общего использования. Используйте статический метод создания экземпляра
withNumber(unsigned long long, unsigned int)вместо этого. -
Тестирует равенство OSNumber к произвольному объекту.
Объявление
C++
virtual bool isEqualTo( const OSMetaClassBase *anObject) const;Параметры
anObjectОбъект, который будет сравнен с получателем.
Возвращаемое значение
trueесли объекты равны,falseесли нет.Обсуждение
Если тот объект получен из OSNumber и представляет то же целочисленное значение C, OSNumber считают равным другому объекту.
-
Тестирует равенство двух объектов OSNumber.
Объявление
C++
virtual bool isEqualTo( const OSNumber *aNumber) const;Параметры
aNumberOSNumber, который будет сравнен с получателем.
Возвращаемое значение
trueесли объекты OSNumber равны,falseесли нет.Обсуждение
Два объекта OSNumber считают равными, если они представляют то же целочисленное значение C.
-
Возвращается число битов раньше представляло целочисленное значение объекта OSNumber.
Объявление
C++
virtual unsigned int numberOfBits() const;Возвращаемое значение
Число битов раньше представляло целочисленное значение объекта OSNumber.
Обсуждение
Число битов используется для ограничения хранимой суммы OSNumber. Любое изменение в его значении выполняется как
unsigned long longи затем усеченный к числу битов. -
Возвращается число байтов раньше представляло целочисленное значение объекта OSNumber.
Объявление
C++
virtual unsigned int numberOfBytes() const;Возвращаемое значение
Число байтов раньше представляло целочисленное значение объекта OSNumber. Посмотрите
numberOfBits. -
Архивирует получатель в предоставленный объект OSSerialize.
Объявление
C++
virtual bool serialize( OSSerialize *serializer) const;Параметры
serializerОбъект OSSerialize.
Возвращаемое значение
trueесли сериализация успешно выполняется,falseесли нет. -
Заменяет текущее внутреннее целочисленное значение объекта OSNumber данным значением.
Объявление
C++
virtual void setValue( unsigned long longvalue);Параметры
valueНовое значение для объекта OSNumber, который является усеченным диаметром долота объекта OSNumber (см.
numberOfBits). -
Возвращает бросок целочисленного значения объекта OSNumber как 16-разрядное целое число без знака.
Объявление
C++
virtual unsigned short unsigned16BitValue() const;Возвращаемое значение
Возвращает бросок целочисленного значения объекта OSNumber как 16-разрядное целое число без знака.
Обсуждение
Эта функция просто бросает внутреннее целочисленное значение, не давая индикации относительно усечения или других потенциальных проблем преобразования.
-
Возвращает бросок целочисленного значения объекта OSNumber как 32-разрядное целое число без знака.
Объявление
C++
virtual unsigned int unsigned32BitValue() const;Возвращаемое значение
Возвращает бросок целочисленного значения объекта OSNumber как 32-разрядное целое число без знака.
Обсуждение
Эта функция просто бросает внутреннее целочисленное значение, не давая индикации относительно усечения или других потенциальных проблем преобразования.
-
Возвращает бросок целочисленного значения объекта OSNumber как 64-разрядное целое число без знака.
Объявление
C++
virtual unsigned long long unsigned64BitValue() const;Возвращаемое значение
Возвращает бросок целочисленного значения объекта OSNumber как 64-разрядное целое число без знака.
Обсуждение
Эта функция просто бросает внутреннее целочисленное значение, не давая индикации относительно усечения или других потенциальных проблем преобразования.
-
Возвращает бросок целочисленного значения объекта OSNumber как 8-разрядное целое число без знака.
Объявление
C++
virtual unsigned char unsigned8BitValue() const;Возвращаемое значение
Бросок целочисленного значения объекта OSNumber как 8-разрядное целое число без знака.
Обсуждение
Эта функция просто бросает внутреннее целочисленное значение, не давая индикации относительно усечения или других потенциальных проблем преобразования.
-
withNumber (символ константы *, интервал без знака) - withNumber (символ константы *, интервал без знака)Создает и инициализирует экземпляр OSNumber со значением целого без знака, представленным как струна до.
Объявление
C++
static OSNumber * withNumber( const char *valueString, unsigned intnumberOfBits);Параметры
valueStringСтруна до, представляющая числовое значение для OSNumber для хранения.
numberOfBitsЧисло битов для ограничения хранения.
Возвращаемое значение
Экземпляр OSNumber с подсчетом ссылок 1;
NULLпри отказе.Обсуждение
Эта функция не работает в версиях Набора I/O до 8,0 (Mac OS X 10.4). В версии 8.0 Набора I/O и позже, это работает, но ограничивается парсингом количеств на 32 бита без знака. Формат струны до может быть десятичным, шестнадцатеричным («0x» префикс), двоичный файл («0b» префикс), или восьмеричным («0» префикс).
Проанализированное значение маскируется к предоставленному
numberOfBitsкогда инициализируется объект OSNumber.Можно изменить значение OSNumber позже с помощью
setValueиaddValue, но Вы не можете изменить диаметр долота. -
withNumber (длинный длинный, интервал без знака без знака) - withNumber (длинный длинный, интервал без знака без знака)Создает и инициализирует экземпляр OSNumber с целочисленным значением.
Объявление
C++
static OSNumber * withNumber( unsigned long longvalue, unsigned intnumberOfBits);Параметры
valueЧисловое целочисленное значение для OSNumber для хранения.
numberOfBitsЧисло битов для ограничения хранения.
Возвращаемое значение
Экземпляр OSNumber с подсчетом ссылок 1;
NULLпри отказе.Обсуждение
valueмаскируется к предоставленномуnumberOfBitsкогда инициализируется объект OSNumber.Можно изменить значение OSNumber позже с помощью
setValueиaddValue, но Вы не можете изменить диаметр долота.
