pub unsafe extern "C" fn CFSetCreate(
allocator: CFAllocatorRef,
values: *mut *const c_void,
numValues: CFIndex,
callBacks: *const CFSetCallBacks,
) -> CFSetRefExpand description
@function CFSetCreate Creates a new immutable set with the given values. @param allocator The CFAllocator which should be used to allocate memory for the set and its storage for values. This parameter may be NULL in which case the current default CFAllocator is used. If this reference is not a valid CFAllocator, the behavior is undefined. @param values A C array of the pointer-sized values to be in the set. This C array is not changed or freed by this function. If this parameter is not a valid pointer to a C array of at least numValues pointers, the behavior is undefined. @param numValues The number of values to copy from the values C array into the CFSet. This number will be the count of the set. If this parameter is zero, negative, or greater than the number of values actually in the values C array, the behavior is undefined. @param callBacks A C pointer to a CFSetCallBacks structure initialized with the callbacks for the set to use on each value in the set. A copy of the contents of the callbacks structure is made, so that a pointer to a structure on the stack can be passed in, or can be reused for multiple set creations. If the version field of this callbacks structure is not one of the defined ones for CFSet, the behavior is undefined. The retain field may be NULL, in which case the CFSet will do nothing to add a retain to the contained values for the set. The release field may be NULL, in which case the CFSet will do nothing to remove the set’s retain (if any) on the values when the set is destroyed. If the copyDescription field is NULL, the set will create a simple description for the value. If the equal field is NULL, the set will use pointer equality to test for equality of values. The hash field may be NULL, in which case the CFSet will determine uniqueness by pointer equality. This callbacks parameter itself may be NULL, which is treated as if a valid structure of version 0 with all fields NULL had been passed in. Otherwise, if any of the fields are not valid pointers to functions of the correct type, or this parameter is not a valid pointer to a CFSetCallBacks callbacks structure, the behavior is undefined. If any of the values put into the set is not one understood by one of the callback functions the behavior when that callback function is used is undefined. @result A reference to the new immutable CFSet.