Ссылка CFBinaryHeap
CFBinaryHeap
реализует контейнер, хранящий сортированное использование значений алгоритма двоичного поиска. Вся двоичная «куча» является непостоянной; нет отдельного неизменного разнообразия. Двоичная «куча» может быть полезной как приоритетные очереди.
-
Добавляет значение к двоичной «куче».
Объявление
Swift
func CFBinaryHeapAddValue(_
heap
: CFBinaryHeap!, _value
: UnsafePointer<Void>)Objective C
void CFBinaryHeapAddValue ( CFBinaryHeapRef heap, const void *value );
Параметры
heap
Двоичная «куча» для использования.
value
Значение для добавления к двоичной «куче». Значение сохраняется двоичной «кучей» с помощью сохранить обратного вызова, предоставленного в
CFBinaryHeapCallBacks
структура, когда создавалась двоичная «куча».Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.0 и позже.
-
Многократно применяет функцию ко всем значениям в двоичной «куче».
Объявление
Swift
func CFBinaryHeapApplyFunction(_
heap
: CFBinaryHeap!, _applier
: CFBinaryHeapApplierFunction, _context
: UnsafeMutablePointer<Void>)Objective C
void CFBinaryHeapApplyFunction ( CFBinaryHeapRef heap, CFBinaryHeapApplierFunction applier, void *context );
Параметры
heap
Двоичная «куча» для использования.
applier
Функция обратного вызова для вызова один раз для каждого значения в
heap
.context
Определенное с помощью программы значение, передающееся
applier
функция обратного вызова, но иначе не использовано этой функцией.Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.0 и позже.
-
Возвраты, является ли данное значение в двоичной «куче».
Объявление
Swift
func CFBinaryHeapContainsValue(_
heap
: CFBinaryHeap!, _value
: UnsafePointer<Void>) -> BooleanObjective C
Boolean CFBinaryHeapContainsValue ( CFBinaryHeapRef heap, const void *value );
Параметры
heap
Двоичная «куча» для поиска.
value
Значение, для которого можно найти соответствия в двоичной «куче». Сравнить обратный вызов обеспечил в
CFBinaryHeapCallBacks
структура, когда двоичная «куча» создавалась, используется для сравнения значений. Еслиvalue
, или любое из значений в двоичной «куче», не поняты под сравнить обратным вызовом, поведение не определено.Возвращаемое значение
true
еслиvalue
элементheap
,false
иначе.Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.0 и позже.
-
Создает новую непостоянную или фиксировано-непостоянную двоичную «кучу».
Объявление
Swift
func CFBinaryHeapCreate(_
allocator
: CFAllocator!, _capacity
: CFIndex, _callBacks
: UnsafePointer<CFBinaryHeapCallBacks>, _compareContext
: UnsafePointer<CFBinaryHeapCompareContext>) -> CFBinaryHeap!Objective C
CFBinaryHeapRef CFBinaryHeapCreate ( CFAllocatorRef allocator, CFIndex capacity, const CFBinaryHeapCallBacks *callBacks, const CFBinaryHeapCompareContext *compareContext );
Параметры
allocator
Средство выделения для использования для выделения памяти для нового объекта. Передача
NULL
илиkCFAllocatorDefault
использовать текущее средство выделения по умолчанию.capacity
Максимальное количество значений, которые могут содержаться двоичной «кучей». Двоичная «куча» запускается пустой и может расти до этого числа значений. Если этот параметр
0
, максимальная способность двоичной «кучи» ограничивается только памятью.callBacks
Указатель на a
CFBinaryHeapCallBacks
структура инициализировала с обратными вызовами, воздействующими на значения, помещенные в двоичную «кучу». Если двоичная «куча» будет содержатьCFString
объекты, передайтеkCFStringBinaryHeapCallBacks
постоянный. Это функционирует, делает копию содержания структуры обратных вызовов, так, чтобы указатель на структуру на штабеле мог быть передан в или мог быть снова использован для многократных двоичных созданий «кучи». Этот параметр обратных вызовов может не бытьNULL
.compareContext
Не используемый. Передача
NULL
.Возвращаемое значение
Новое
CFBinaryHeap
объект. Владение соблюдает Создать Правило.Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.0 и позже.
-
Создает новую непостоянную или фиксировано-непостоянную двоичную «кучу» со значениями от существующей ранее двоичной «кучи».
Объявление
Swift
func CFBinaryHeapCreateCopy(_
allocator
: CFAllocator!, _capacity
: CFIndex, _heap
: CFBinaryHeap!) -> CFBinaryHeap!Objective C
CFBinaryHeapRef CFBinaryHeapCreateCopy ( CFAllocatorRef allocator, CFIndex capacity, CFBinaryHeapRef heap );
Параметры
allocator
Средство выделения для использования для выделения памяти для нового объекта. Передача
NULL
илиkCFAllocatorDefault
использовать текущее средство выделения по умолчанию.capacity
Максимальное количество значений, которые могут содержаться двоичной «кучей». Двоичная «куча» запускается с того же числа значений как
heap
и может расти до этого числа значений. Если этот параметр0
, максимальная способность двоичной «кучи» ограничивается только памятью. Если ненулевой,capacity
должно быть достаточно большим для сдержания всех значенийheap
.heap
Двоичная «куча», которая должна быть скопирована. Значения от двоичной «кучи» копируются как указатели в новую двоичную «кучу» (т.е. сами значения копируются, не что, на который значения указывают, если что-либо). Однако значения также сохраняются новой двоичной «кучей».
Возвращаемое значение
Новое
CFBinaryHeap
объект, содержащий те же значения какheap
. Новая двоичная «куча» использует те же обратные вызовы какheap
. Владение соблюдает Создать Правило.Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.0 и позже.
-
Возвращает число значений в настоящее время в двоичной «куче».
Объявление
Swift
func CFBinaryHeapGetCount(_
heap
: CFBinaryHeap!) -> CFIndexObjective C
CFIndex CFBinaryHeapGetCount ( CFBinaryHeapRef heap );
Параметры
heap
Двоичная «куча» для использования.
Возвращаемое значение
Число значений в
heap
.Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.0 и позже.
-
Считает число раз, данное значение происходит в двоичной «куче».
Объявление
Swift
func CFBinaryHeapGetCountOfValue(_
heap
: CFBinaryHeap!, _value
: UnsafePointer<Void>) -> CFIndexObjective C
CFIndex CFBinaryHeapGetCountOfValue ( CFBinaryHeapRef heap, const void *value );
Параметры
heap
Двоичная «куча» для поиска.
value
Значение, для которого можно найти соответствия в двоичной «куче». Сравнить обратный вызов обеспечил в
CFBinaryHeapCallBacks
структура, когда двоичная «куча» создавалась, используется для сравнения. Еслиvalue
, или любое из значений в двоичной «куче», не поняты под сравнить обратным вызовом, поведение не определено.Возвращаемое значение
Число раз
value
происходит вheap
.Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.0 и позже.
-
Возвращает минимальное значение в двоичной «куче».
Объявление
Swift
func CFBinaryHeapGetMinimum(_
heap
: CFBinaryHeap!) -> UnsafePointer<Void>Objective C
const void * CFBinaryHeapGetMinimum ( CFBinaryHeapRef heap );
Параметры
heap
Двоичная «куча» для использования.
Возвращаемое значение
Минимальное значение в
heap
как определено двоичной «кучей» сравнивают обратный вызов. Еслиheap
содержит несколько равных минимальных значений, любой может быть возвращен. Если значение является Базовым объектом Основы, владение соблюдает Получить Правило.Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.0 и позже.
-
Возвращает минимальное значение в двоичной «куче», если существующий.
Объявление
Swift
func CFBinaryHeapGetMinimumIfPresent(_
heap
: CFBinaryHeap!, _value
: UnsafeMutablePointer<UnsafePointer<Void>>) -> BooleanObjective C
Boolean CFBinaryHeapGetMinimumIfPresent ( CFBinaryHeapRef heap, const void **value );
Параметры
heap
Двоичная «куча» для использования.
value
По возврату, минимальному значению в
heap
как определено двоичной «кучей» сравнивают обратный вызов. Еслиheap
содержит несколько равных минимальных значений, любой может быть возвращен. Если значение является Базовым объектом Основы, владение соблюдает Получить Правило.Возвращаемое значение
true
если минимальное значение существует вheap
,false
иначе.false
возвращается только еслиheap
пусто.Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.0 и позже.
-
Возвращает идентификатор типа
CFBinaryHeap
непрозрачный тип.Объявление
Swift
func CFBinaryHeapGetTypeID() -> CFTypeID
Objective C
CFTypeID CFBinaryHeapGetTypeID ( void );
Возвращаемое значение
Идентификатор типа
CFBinaryHeap
непрозрачный тип.Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.0 и позже.
-
Копии все значения от двоичной «кучи» в сортированный массив C.
Объявление
Swift
func CFBinaryHeapGetValues(_
heap
: CFBinaryHeap!, _values
: UnsafeMutablePointer<UnsafePointer<Void>>)Objective C
void CFBinaryHeapGetValues ( CFBinaryHeapRef heap, const void **values );
Параметры
heap
Двоичная «куча» для использования.
values
По возврату память, на которую указывает этот параметр, содержит массив C всех значений в «куче», сортированной от минимума до максимальных значений. Необходимо выделить достаточную память для сдержания всех значений
heap
прежде, чем вызвать эту функцию. Если значения являются Базовыми объектами Основы, владение соблюдает Получить Правило.Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.0 и позже.
-
Удаляет все значения из двоичной «кучи», делая его пустым.
Объявление
Swift
func CFBinaryHeapRemoveAllValues(_
heap
: CFBinaryHeap!)Objective C
void CFBinaryHeapRemoveAllValues ( CFBinaryHeapRef heap );
Параметры
heap
Двоичная «куча» для использования.
Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.0 и позже.
-
Удаляет минимальное значение из двоичной «кучи».
Объявление
Swift
func CFBinaryHeapRemoveMinimumValue(_
heap
: CFBinaryHeap!)Objective C
void CFBinaryHeapRemoveMinimumValue ( CFBinaryHeapRef heap );
Параметры
heap
Двоичная «куча» для использования.
Обсуждение
Если
heap
содержит несколько равных минимальных значений, только один из них удален. Еслиheap
пусто, эта функция ничего не делает.Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.0 и позже.
-
Функция обратного вызова раньше применяла функцию ко всем элементам двоичной «кучи».
Объявление
Swift
typealias CFBinaryHeapApplierFunction = CFunctionPointer<((UnsafePointer<Void>, UnsafeMutablePointer<Void>) -> Void)>
Objective C
typedef void (*CFBinaryHeapApplierFunction) ( const void *val, void *context );
Параметры
val
Текущая стоимость от двоичной «кучи».
context
Определенный с помощью программы параметр контекста, данный
CFBinaryHeapApplyFunction
функция.Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.0 и позже.
-
Функция обратного вызова раньше сравнивала два элемента двоичной «кучи».
Объявление
Objective C
typedef CFComparisonResult (*CFBinaryHeapCompareCallBack) ( const void *ptr1, const void *ptr2, void *info );
Параметры
ptr1
Первое значение, которое выдержит сравнение.
ptr2
Второе значение для сравнения.
info
Не используемый. Должен всегда быть
NULL
.Возвращаемое значение
kCFCompareLessThan
еслиptr1
меньше, чемptr2
,kCFCompareEqualTo
еслиptr1
иptr2
равны, илиkCFCompareGreaterThan
еслиptr1
больше, чемptr2
. -
Функция обратного вызова раньше получала описание значения в двоичной «куче».
Объявление
Objective C
typedef CFStringRef (*CFBinaryHeapCopyDescriptionCallBack) ( const void *ptr );
Параметры
ptr
Значение, которое будет описано.
-
Функция обратного вызова раньше выпускала значение, прежде чем она будет удалена из двоичной «кучи».
Объявление
Objective C
typedef void (*CFBinaryHeapReleaseCallBack) ( CFAllocatorRef allocator, const void *ptr );
Параметры
allocator
Средство выделения двоичной «кучи».
ptr
Значение для выпуска.
-
Функция обратного вызова раньше сохраняла значение, добавляемое к двоичной «куче».
Объявление
Objective C
typedef const void *(*CFBinaryHeapRetainCallBack) ( CFAllocatorRef allocator, const void *ptr );
Параметры
allocator
Средство выделения двоичной «кучи».
ptr
Значение для сохранения.
Возвращаемое значение
Значение для хранения в двоичной «куче», которая обычно является
ptr
если различное значение должно быть сохранено в двоичной «куче», параметр передал этому обратному вызову, но может быть различным значением.
-
Структура, содержащая обратные вызовы для значений для a
CFBinaryHeap
объект.Объявление
Swift
struct CFBinaryHeapCallBacks { var version: CFIndex var retain: CFunctionPointer<((CFAllocator!, UnsafePointer<Void>) -> UnsafePointer<Void>)> var release: CFunctionPointer<((CFAllocator!, UnsafePointer<Void>) -> Void)> var copyDescription: CFunctionPointer<((UnsafePointer<Void>) -> Unmanaged<CFString>!)> var compare: CFunctionPointer<((UnsafePointer<Void>, UnsafePointer<Void>, UnsafeMutablePointer<Void>) -> CFComparisonResult)> }
Objective C
struct CFBinaryHeapCallBacks { CFIndex version; CFBinaryHeapRetainCallBack retain; CFBinaryHeapReleaseCallBack release; CFAllocatorCopyDescriptionCallBack copyDescription; CFBinaryHeapCompareCallBack compare; }; typedef struct CFBinaryHeapCallBacks CFBinaryHeapCallBacks;
Поля
version
Номер версии типа структуры, передаваемого в в качестве параметра
CFBinaryHeap
функции создания. Эта структура является версией0
.retain
Обратный вызов раньше добавлял, что сохранение для двоичного файла сваливает значения в кучу, поскольку они помещаются в двоичную «кучу». Этот обратный вызов возвращает значение для использования в качестве значения в двоичной «куче», которая обычно является параметром, передаваемым по значению, передал этому обратному вызову, но может быть различное значение, если различное значение должно быть добавлено к двоичной «куче». Если это поле
NULL
, двоичная «куча» не делает ничего для сохранения добавляемого значения.release
Обратный вызов раньше удалял сохранение ранее добавленного для двоичной «кучи» от значений, когда они удалены из двоичной «кучи». Если это поле
NULL
, двоичная «куча» не делает ничего для выпуска удаляемого значения.copyDescription
Обратный вызов раньше создавал представление описательной строки каждого значения в двоичной «куче». Это используется
CFCopyDescription
функция. Если это полеNULL
, двоичная «куча» создает aCFString
объект, описывающий значение на основе его значения указателя.compare
Обратный вызов раньше сравнивал значения в двоичной «куче» в некоторых операциях. Это поле не может быть
NULL
.Доступность
Доступный в OS X v10.0 и позже.
-
Не используемый.
Объявление
Swift
struct CFBinaryHeapCompareContext { var version: CFIndex var info: UnsafeMutablePointer<Void> var retain: CFunctionPointer<((UnsafePointer<Void>) -> UnsafePointer<Void>)> var release: CFunctionPointer<((UnsafePointer<Void>) -> Void)> var copyDescription: CFunctionPointer<((UnsafePointer<Void>) -> Unmanaged<CFString>!)> }
Objective C
struct CFBinaryHeapCompareContext { CFIndex version; void *info; CFAllocatorRetainCallBack retain; CFAllocatorReleaseCallBack release; CFAllocatorCopyDescriptionCallBack copyDescription; }; typedef struct CFBinaryHeapCompareContext CFBinaryHeapCompareContext;
Доступность
Доступный в OS X v10.0 и позже.
-
Ссылка на двоичный объект «кучи».
Объявление
Swift
typealias CFBinaryHeapRef = CFBinaryHeap
Objective C
typedef struct __CFBinaryHeap *CFBinaryHeapRef;
Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.0 и позже.
-
CFBinaryHeap
обеспечивает некоторые предопределенные обратные вызовы для Вашего удобства.Объявление
Swift
let kCFStringBinaryHeapCallBacks: CFBinaryHeapCallBacks
Objective C
const CFBinaryHeapCallBacks kCFStringBinaryHeapCallBacks;
Константы
-
kCFStringBinaryHeapCallBacks
kCFStringBinaryHeapCallBacks
Предопределенный
CFBinaryHeapCallBacks
структура, содержащая ряд обратных вызовов, подходящих для использования, когда значения в двоичной «куче» - всеCFString
объекты.Доступный в OS X v10.0 и позже.
-