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

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

Разработчик

Ссылка класса IORangeAllocator

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

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

IORangeAllocator

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

Класс IORangeAllocator обеспечивает функции для выделения диапазонов в фиксированном или любом смещении и освобождении их назад к бесплатному списку. Это полезно для описания диапазонов пространства памяти или адресного пространства, не требуя хранения в памяти - информация, описывающая свободные элементы, хранится в другом месте. Диапазоны описаны смещением запуска и размером. IORangeAllocator дополнительно защищен от многопоточного доступа.

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


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

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


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

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


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

Objective C

@import Kernel;

Доступность


Доступный в OS X v10.0 и позже.
  • Выделяет из бесплатного списка, при любом смещении.

    Объявление

    C++

    virtual bool allocate( IORangeScalar size, IORangeScalar *result, IORangeScalar alignment = 0 );

    Параметры

    size

    Размер диапазона требуют.

    result

    Начало выделенного диапазона возвращается сюда на успехе.

    alignment

    Если нуль передается, значение по умолчанию к выравниванию средств выделения, иначе передайте выравнивание, требуемое для выделения, например 4096 для разбивки на страницы выравниваются.

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

    Если выделение было успешным, еще ложным, возвращает true.

    Обсуждение

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

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

    Объявление

    C++

    virtual bool allocateRange( IORangeScalarstart, IORangeScalarsize );

    Параметры

    start

    Начало диапазона требуют.

    size

    Размер диапазона требуют.

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

    Если выделение было успешным, еще ложным, возвращает true.

    Обсуждение

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

  • Освобождает диапазон к бесплатному списку.

    Объявление

    C++

    virtual void deallocate( IORangeScalarstart, IORangeScalarsize );

    Параметры

    start

    Начало диапазона требуют.

    size

    Возвращает размер диапазона, который требуют.

    Обсуждение

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

  • Средство доступа для возврата числа свободных фрагментов в диапазоне.

    Объявление

    C++

    virtual UInt32 getFragmentCapacity( void );

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

    Возвращает токовую нагрузку бесплатного списка фрагмента.

    Обсуждение

    Этот метод возвращает токовую нагрузку бесплатного списка фрагмента.

  • Средство доступа для возврата числа свободных фрагментов в диапазоне.

    Объявление

    C++

    virtual UInt32 getFragmentCount( void );

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

    Возвращает количество свободных фрагментов.

    Обсуждение

    Этот метод возвращает количество свободных фрагментов. Каждый фрагмент описывает свободный диапазон состоящий из нескольких несмежных участков - освобождение объединит непрерывные фрагменты вместе.

  • Составляет размеры свободных фрагментов.

    Объявление

    C++

    virtual IORangeScalar getFreeCount( void );

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

    Возвращает общее количество свободных размеров фрагментов.

    Обсуждение

    Этот метод возвращает общее количество размеров фрагментов в бесплатном списке.

  • Стандартный инициализатор для IORangeAllocator.

    Объявление

    C++

    virtual bool init( IORangeScalarendOfRange, IORangeScalardefaultAlignment, UInt32capacity, IOOptionBitsoptions );

    Параметры

    endOfRange

    Если бесплатный список должен содержать начальный фрагмент, установите endOfRange в последнее смещение в диапазоне, т.е. размер - 1, для создания свободного фрагмента для нуля диапазона к endOfRange включительно. Если нуль будет передан, то бесплатный список будет инициализирован пустой, и может быть заполнен с вызовами к освобождать методу.

    defaultAlignment

    Если этот параметр является ненулевым, он указывает требуемое выравнивание для всех выделений, например, передайте 256 для выравнивания выделений на 256-байтовых границах. Нуль или каждый указывают невыровненные выделения.

    capacity

    Устанавливает начальный размер бесплатного списка в числе фрагментов состоящих из нескольких несмежных участков. Это значение также используется для capacityIncrement.

    options

    Синхронизация передачи, если экземпляр может использоваться многократными потоками.

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

    Если экземпляр успешно инициализируется, ложь при отказе, возвращает true.

    Обсуждение

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

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

    Объявление

    C++

    virtual void setFragmentCapacityIncrement( UInt32count );

    Параметры

    count

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

    Обсуждение

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

  • Стандартный метод фабрики для IORangeAllocator.

    Объявление

    C++

    static IORangeAllocator * withRange( IORangeScalar endOfRange, IORangeScalar defaultAlignment = 0, UInt32 capacity = 0, IOOptionBits options = 0 );

    Параметры

    endOfRange

    Если бесплатный список должен содержать начальный фрагмент, установите endOfRange в последнее смещение в диапазоне, т.е. размер - 1, для создания свободного фрагмента для нуля диапазона к endOfRange включительно. Если нуль будет передан, то бесплатный список будет инициализирован пустой, и может быть заполнен с вызовами к освобождать методу.

    defaultAlignment

    Если этот параметр является ненулевым, он указывает требуемое выравнивание для всех выделений, например, передайте 256 для выравнивания выделений на 256-байтовых границах. Нуль или каждый указывают невыровненные выделения.

    capacity

    Устанавливает начальный размер бесплатного списка в числе фрагментов состоящих из нескольких несмежных участков. Это значение также используется для capacityIncrement.

    options

    Синхронизация передачи, если экземпляр может использоваться многократными потоками.

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

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

    Обсуждение

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