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 long
value
);Параметры
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 long
value
, 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;Параметры
aNumber
OSNumber, который будет сравнен с получателем.
Возвращаемое значение
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 long
value
);Параметры
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 long
value
, unsigned intnumberOfBits
);Параметры
value
Числовое целочисленное значение для OSNumber для хранения.
numberOfBits
Число битов для ограничения хранения.
Возвращаемое значение
Экземпляр OSNumber с подсчетом ссылок 1;
NULL
при отказе.Обсуждение
value
маскируется к предоставленномуnumberOfBits
когда инициализируется объект OSNumber.Можно изменить значение OSNumber позже с помощью
setValue
иaddValue
, но Вы не можете изменить диаметр долота.