Base Utilities Reference

Framework
CoreFoundation/CoreFoundation.h
Companion guide
Declared in
CFBase.h

Overview

Core Foundation defines a number of miscellaneous symbols that are either used by many different opaque types, such as CFIndex, or apply to Core Foundation as a whole, such as kCFCoreFoundationVersionNumber. These symbols are collected together and documented here.

Functions

CFRangeMake

Declares and initializes a CFRange structure.

CFRange CFRangeMake (
   CFIndex loc,
   CFIndex len
);
Parameters
loc

The starting location of the range.

len

The length of the range.

Return Value

An initialized structure of type CFRange.

Discussion

This is an in-line convenience function for creating initialized CFRange structures.

Availability
  • Available in iOS 2.0 and later.
Related Sample Code
Declared In
CFBase.h

Callbacks

CFComparatorFunction

Callback function that compares two values. You provide a pointer to this callback in certain Core Foundation sorting functions.

typedef CFComparisonResult (*CFComparatorFunction) (
   const void *val1,
   const void *val2,
   void *context
);

If you name your function MyCallBack, you would declare it like this:

CFComparisonResult MyCallBack (
   const void *val1,
   const void *val2,
   void *context
);

Parameters
val1

The first value to compare.

val2

The second value to compare.

context

An untyped pointer to the context of the evaluation.

The meaning of this value and its use are defined by each comparator function. This value is usually passed to a sort function, such as CFArraySortValues, which then passes it, unchanged, to the comparator function.

Return Value

A CFComparisonResult value that indicates whether the val1 is equal to, less than, or greater than val2. See “Comparison Results” for a list of possible values.

Discussion

If you need to sort the elements in a collection using special criteria, you can implement a comparator function with the signature defined by this prototype. You pass a pointer to this function in one of the “sort” functions, such as CFArray's CFArraySortValues.

You can also pass pointers to standard Core Foundation comparator functions such as CFStringCompare and CFDateCompare.

Availability
  • Available in iOS 2.0 and later.
Declared In
CFBase.h

Data Types

CFIndex

An integer type used throughout Core Foundation in several programmatic roles: as an array index and for count, size, and length parameters and return values.

typedef signed long CFIndex;
Discussion

Core Foundation types as CFIndex all parameters and return values that might grow over time as the processor's address size changes. On architectures where pointer sizes are a different size (say, 64 bits) CFIndex might be declared to be also 64 bits, independent of the size of int.

If you type your own variables that interact with Core Foundation as CFIndex, your code will have a higher degree of source compatibility in the future.

Availability
  • Available in iOS 2.0 and later.
Declared In
CFBase.h

CFOptionFlags

A bitfield used for passing special allocation and other requests into Core Foundation functions.

typedef UInt32 CFOptionFlags;
Discussion

The flag bits are specific to particular opaque types and functions in Core Foundation.

Availability
  • Available in iOS 2.0 and later.
Declared In
CFBase.h

CFRange

A structure representing a range of sequential items in a container, such as characters in a buffer or elements in a collection.

struct CFRange {
   CFIndex location;
   CFIndex length;
};
typedef struct CFRange CFRange;
Fields
location

An integer representing the starting location of the range. For type compatibility with the rest of the system, LONG_MAX is the maximum value you should use for location.

length

An integer representing the number of items in the range. For type compatibility with the rest of the system, LONG_MAX is the maximum value you should use for length.

Availability
  • Available in iOS 2.0 and later.
Declared In
CFBase.h

Constants

Comparison Results

Constants returned by comparison functions, indicating whether a value is equal to, less than, or greater than another value.

enum CFComparisonResult {
   kCFCompareLessThan = -1,
   kCFCompareEqualTo = 0,
   kCFCompareGreaterThan = 1
};
typedef enum CFComparisonResult CFComparisonResult;
Constants
kCFCompareLessThan

Returned by a comparison function if the first value is less than the second value.

Available in iOS 2.0 and later.

Declared in CFBase.h.

kCFCompareEqualTo

Returned by a comparison function if the first value is equal to the second value.

Available in iOS 2.0 and later.

Declared in CFBase.h.

kCFCompareGreaterThan

Returned by a comparison function if the first value is greater than the second value.

Available in iOS 2.0 and later.

Declared in CFBase.h.

Value Not Found

Special value returned when a Core Foundation function cannot locate a requested value.

enum {
   kCFNotFound = -1
};
Constants
kCFNotFound

A constant that indicates that a search operation did not succeed in locating the target value.

Available in iOS 2.0 and later.

Declared in CFBase.h.

Current Framework Version Number

Current version number of the Core Foundation framework.

double kCFCoreFoundationVersionNumber;
Constants
kCFCoreFoundationVersionNumber

The current version of the Core Foundation framework. Compare this value to the values in “Framework Version Numbers.” Although this variable was added to the CFBase.h header file in OS X v10.1, it was available and can be used in OS X v10.0.

Available in iOS 2.0 and later.

Declared in CFBase.h.

Framework Version Numbers

Version numbers of the Core Foundation framework.

#define kCFCoreFoundationVersionNumber10_0    196.40
#define kCFCoreFoundationVersionNumber10_0_3    196.50
#define kCFCoreFoundationVersionNumber10_1    226.00
#define kCFCoreFoundationVersionNumber10_1_1    226.00
/* Note the next three do not follow the usual numbering policy
   from the base release */
#define kCFCoreFoundationVersionNumber10_1_2    227.20
#define kCFCoreFoundationVersionNumber10_1_3    227.20
#define kCFCoreFoundationVersionNumber10_1_4    227.30
#define kCFCoreFoundationVersionNumber10_2    263.00
#define kCFCoreFoundationVersionNumber10_2_1    263.10
#define kCFCoreFoundationVersionNumber10_2_2    263.10
#define kCFCoreFoundationVersionNumber10_2_3    263.30
#define kCFCoreFoundationVersionNumber10_2_4    263.30
#define kCFCoreFoundationVersionNumber10_2_5    263.50
#define kCFCoreFoundationVersionNumber10_2_6    263.50
#define kCFCoreFoundationVersionNumber10_2_7    263.50
#define kCFCoreFoundationVersionNumber10_2_8    263.50
#define kCFCoreFoundationVersionNumber10_3    299.00
#define kCFCoreFoundationVersionNumber10_3_1    299.00
#define kCFCoreFoundationVersionNumber10_3_2    299.00
#define kCFCoreFoundationVersionNumber10_3_3    299.30
#define kCFCoreFoundationVersionNumber10_3_4    299.31
#define kCFCoreFoundationVersionNumber10_3_5    299.31
#define kCFCoreFoundationVersionNumber10_3_6    299.32
#define kCFCoreFoundationVersionNumber10_3_7    299.33
#define kCFCoreFoundationVersionNumber10_3_8    299.33
#define kCFCoreFoundationVersionNumber10_3_9    299.35
#define kCFCoreFoundationVersionNumber10_4    368.00
#define kCFCoreFoundationVersionNumber10_4_1    368.10
#define kCFCoreFoundationVersionNumber10_4_2    368.11
#define kCFCoreFoundationVersionNumber10_4_3    368.18
#define kCFCoreFoundationVersionNumber10_4_4_Intel    368.26
#define kCFCoreFoundationVersionNumber10_4_4_PowerPC    368.25
#define kCFCoreFoundationVersionNumber10_4_5_Intel    368.26
#define kCFCoreFoundationVersionNumber10_4_5_PowerPC    368.25
#define kCFCoreFoundationVersionNumber10_4_6_Intel    368.26
#define kCFCoreFoundationVersionNumber10_4_6_PowerPC    368.25
#define kCFCoreFoundationVersionNumber10_4_7    368.27
#define kCFCoreFoundationVersionNumber10_4_8    368.27
#define kCFCoreFoundationVersionNumber10_4_9    368.28
#define kCFCoreFoundationVersionNumber10_4_10    368.28
#define kCFCoreFoundationVersionNumber10_4_11    368.31
#define kCFCoreFoundationVersionNumber10_5    476.00
#define kCFCoreFoundationVersionNumber10_5_1    476.00
#define kCFCoreFoundationVersionNumber10_5_2    476.10
#define kCFCoreFoundationVersionNumber10_5_3    476.13
#define kCFCoreFoundationVersionNumber10_5_4    476.14
#define kCFCoreFoundationVersionNumber10_5_5    476.15
#define kCFCoreFoundationVersionNumber10_5_6    476.17
#define kCFCoreFoundationVersionNumber10_5_7    476.18
#define kCFCoreFoundationVersionNumber10_5_8    476.19
#define kCFCoreFoundationVersionNumber10_6    550.00
#define kCFCoreFoundationVersionNumber10_6_1    550.00
#define kCFCoreFoundationVersionNumber10_6_2    550.13
#define kCFCoreFoundationVersionNumber10_6_3    550.19
#define kCFCoreFoundationVersionNumber10_6_4    550.29
#define kCFCoreFoundationVersionNumber10_6_5    550.42
#define kCFCoreFoundationVersionNumber10_6_6    550.42
#define kCFCoreFoundationVersionNumber10_6_7    550.42
#define kCFCoreFoundationVersionNumber10_6_8    550.43
#define kCFCoreFoundationVersionNumber10_7      635.00
#define kCFCoreFoundationVersionNumber10_7_1    635.00
#define kCFCoreFoundationVersionNumber10_7_2    635.15
#define kCFCoreFoundationVersionNumber10_7_3    635.19
#define kCFCoreFoundationVersionNumber10_7_4    635.21
   
#define kCFCoreFoundationVersionNumber_iPhoneOS_2_0    478.23
#define kCFCoreFoundationVersionNumber_iPhoneOS_2_1    478.26
#define kCFCoreFoundationVersionNumber_iPhoneOS_2_2    478.29
#define kCFCoreFoundationVersionNumber_iPhoneOS_3_0    478.47
#define kCFCoreFoundationVersionNumber_iPhoneOS_3_1    478.52
#define kCFCoreFoundationVersionNumber_iPhoneOS_3_2    478.61
#define kCFCoreFoundationVersionNumber_iOS_4_0    550.32
#define kCFCoreFoundationVersionNumber_iOS_4_1    550.38
#define kCFCoreFoundationVersionNumber_iOS_4_2    550.52
#define kCFCoreFoundationVersionNumber_iOS_4_3    550.52
#define kCFCoreFoundationVersionNumber_iOS_5_0    675
#define kCFCoreFoundationVersionNumber_iOS_5_1    690.1
Constants
kCFCoreFoundationVersionNumber10_0

The Core Foundation framework version in OS X version 10.0.

Available in iOS 2.0 and later.

Declared in CFBase.h.

kCFCoreFoundationVersionNumber10_0_3

The Core Foundation framework version in OS X version 10.0.3.

Available in iOS 2.0 and later.

Declared in CFBase.h.

kCFCoreFoundationVersionNumber10_1

The Core Foundation framework version in OS X version 10.1.

Available in iOS 2.0 and later.

Declared in CFBase.h.

kCFCoreFoundationVersionNumber10_1_1

The Core Foundation framework version in OS X version 10.1.1.

Available in iOS 2.0 and later.

Declared in CFBase.h.

kCFCoreFoundationVersionNumber10_1_2

The Core Foundation framework version in OS X version 10.1.2.

Available in iOS 2.0 and later.

Declared in CFBase.h.

kCFCoreFoundationVersionNumber10_1_3

The Core Foundation framework version in OS X version 10.1.3.

Available in iOS 2.0 and later.

Declared in CFBase.h.

kCFCoreFoundationVersionNumber10_1_4

The Core Foundation framework version in OS X version 10.1.4.

Available in iOS 2.0 and later.

Declared in CFBase.h.

kCFCoreFoundationVersionNumber10_2

The Core Foundation framework version in OS X version 10.2.

Available in iOS 2.0 and later.

Declared in CFBase.h.

kCFCoreFoundationVersionNumber10_2_1

The Core Foundation framework version in OS X version 10.2.1.

Available in iOS 2.0 and later.

Declared in CFBase.h.

kCFCoreFoundationVersionNumber10_2_2

The Core Foundation framework version in OS X version 10.2.2.

Available in iOS 2.0 and later.

Declared in CFBase.h.

kCFCoreFoundationVersionNumber10_2_3

The Core Foundation framework version in OS X version 10.2.3.

Available in iOS 2.0 and later.

Declared in CFBase.h.

kCFCoreFoundationVersionNumber10_2_4

The Core Foundation framework version in OS X version 10.2.4.

Available in iOS 2.0 and later.

Declared in CFBase.h.

kCFCoreFoundationVersionNumber10_2_5

The Core Foundation framework version in OS X version 10.2.5.

Available in iOS 2.0 and later.

Declared in CFBase.h.

kCFCoreFoundationVersionNumber10_2_6

The Core Foundation framework version in OS X version 10.2.6.

Available in iOS 2.0 and later.

Declared in CFBase.h.

kCFCoreFoundationVersionNumber10_2_7

The Core Foundation framework version in OS X version 10.2.7.

Available in iOS 2.0 and later.

Declared in CFBase.h.

kCFCoreFoundationVersionNumber10_2_8

The Core Foundation framework version in OS X version 10.2.8.

Available in iOS 2.0 and later.

Declared in CFBase.h.

kCFCoreFoundationVersionNumber10_3

The Core Foundation framework version in OS X version 10.3.

Available in iOS 2.0 and later.

Declared in CFBase.h.

kCFCoreFoundationVersionNumber10_3_1

The Core Foundation framework version in OS X version 10.3.1.

Available in iOS 2.0 and later.

Declared in CFBase.h.

kCFCoreFoundationVersionNumber10_3_2

The Core Foundation framework version in OS X version 10.3.2.

Available in iOS 2.0 and later.

Declared in CFBase.h.

kCFCoreFoundationVersionNumber10_3_3

The Core Foundation framework version in OS X version 10.3.3.

Available in iOS 2.0 and later.

Declared in CFBase.h.

kCFCoreFoundationVersionNumber10_3_4

The Core Foundation framework version in OS X version 10.3.4.

Available in iOS 2.0 and later.

Declared in CFBase.h.

kCFCoreFoundationVersionNumber10_3_5

The Core Foundation framework version in OS X version 10.3.5.

Available in iOS 2.0 and later.

Declared in CFBase.h.

kCFCoreFoundationVersionNumber10_3_6

The Core Foundation framework version in OS X version 10.3.6.

Available in iOS 2.0 and later.

Declared in CFBase.h.

kCFCoreFoundationVersionNumber10_3_7

The Core Foundation framework version in OS X version 10.3.7.

Available in iOS 2.0 and later.

Declared in CFBase.h.

kCFCoreFoundationVersionNumber10_3_8

The Core Foundation framework version in OS X version 10.3.8.

Available in iOS 2.0 and later.

Declared in CFBase.h.

kCFCoreFoundationVersionNumber10_3_9

The Core Foundation framework version in OS X version 10.3.9.

Available in iOS 2.0 and later.

Declared in CFBase.h.

kCFCoreFoundationVersionNumber10_4

The Core Foundation framework version in OS X version 10.4.

Available in iOS 2.0 and later.

Declared in CFBase.h.

kCFCoreFoundationVersionNumber10_4_1

The Core Foundation framework version in OS X version 10.4.1.

Available in iOS 2.0 and later.

Declared in CFBase.h.

kCFCoreFoundationVersionNumber10_4_2

The Core Foundation framework version in OS X version 10.4.2.

Available in iOS 2.0 and later.

Declared in CFBase.h.

kCFCoreFoundationVersionNumber10_4_3

The Core Foundation framework version in OS X version 10.4.3.

Available in iOS 2.0 and later.

Declared in CFBase.h.

kCFCoreFoundationVersionNumber10_4_4_Intel

The Core Foundation framework version in OS X version 10.4.4 on Intel-based Macintosh computers.

Available in iOS 2.0 and later.

Declared in CFBase.h.

kCFCoreFoundationVersionNumber10_4_4_PowerPC

The Core Foundation framework version in OS X version 10.4.4 on PowerPC-based Macintosh computers.

Available in iOS 2.0 and later.

Declared in CFBase.h.

kCFCoreFoundationVersionNumber10_4_5_Intel

The Core Foundation framework version in OS X version 10.4.5 on Intel-based Macintosh computers.

Available in iOS 2.0 and later.

Declared in CFBase.h.

kCFCoreFoundationVersionNumber10_4_5_PowerPC

The Core Foundation framework version in OS X version 10.4.5 on PowerPC-based Macintosh computers.

Available in iOS 2.0 and later.

Declared in CFBase.h.

kCFCoreFoundationVersionNumber10_4_6_Intel

The Core Foundation framework version in OS X version 10.4.6 on Intel-based Macintosh computers.

Available in iOS 2.0 and later.

Declared in CFBase.h.

kCFCoreFoundationVersionNumber10_4_6_PowerPC

The Core Foundation framework version in OS X version 10.4.6 on PowerPC-based Macintosh computers.

Available in iOS 2.0 and later.

Declared in CFBase.h.

kCFCoreFoundationVersionNumber10_4_7

The Core Foundation framework version in OS X version 10.4.7.

Available in iOS 2.0 and later.

Declared in CFBase.h.

kCFCoreFoundationVersionNumber10_4_8

The Core Foundation framework version in OS X version 10.4.8.

Available in iOS 2.0 and later.

Declared in CFBase.h.

kCFCoreFoundationVersionNumber10_4_9

The Core Foundation framework version in OS X version 10.4.9.

Available in iOS 2.0 and later.

Declared in CFBase.h.

kCFCoreFoundationVersionNumber10_4_10

The Core Foundation framework version in OS X version 10.4.10.

Available in iOS 2.0 and later.

Declared in CFBase.h.

kCFCoreFoundationVersionNumber10_4_11

The Core Foundation framework version in OS X version 10.4.11.

Available in iOS 2.0 and later.

Declared in CFBase.h.

kCFCoreFoundationVersionNumber10_5

The Core Foundation framework version in OS X version 10.5.

Available in iOS 2.0 and later.

Declared in CFBase.h.

kCFCoreFoundationVersionNumber10_5_1

The Core Foundation framework version in OS X version 10.5.1.

Available in iOS 2.0 and later.

Declared in CFBase.h.

kCFCoreFoundationVersionNumber10_5_2

The Core Foundation framework version in OS X version 10.5.2.

Available in iOS 2.2 and later.

Declared in CFBase.h.

kCFCoreFoundationVersionNumber10_5_3

The Core Foundation framework version in OS X version 10.5.3.

Available in iOS 2.2 and later.

Declared in CFBase.h.

kCFCoreFoundationVersionNumber10_5_4

The Core Foundation framework version in OS X version 10.5.4.

Available in iOS 2.2 and later.

Declared in CFBase.h.

kCFCoreFoundationVersionNumber10_5_5

The Core Foundation framework version in OS X version 10.5.5.

Available in iOS 4.0 and later.

Declared in CFBase.h.

kCFCoreFoundationVersionNumber10_5_6

The Core Foundation framework version in OS X version 10.5.6.

Available in iOS 4.0 and later.

Declared in CFBase.h.

kCFCoreFoundationVersionNumber10_5_7

The Core Foundation framework version in OS X version 10.5.7.

Available in iOS 4.0 and later.

Declared in CFBase.h.

kCFCoreFoundationVersionNumber10_5_8

The Core Foundation framework version in OS X version 10.5.8.

Available in iOS 4.0 and later.

Declared in CFBase.h.

kCFCoreFoundationVersionNumber10_6

The Core Foundation framework version in OS X version 10.6.

Available in iOS 4.0 and later.

Declared in CFBase.h.

kCFCoreFoundationVersionNumber10_6_1

The Core Foundation framework version in OS X version 10.6.1.

Available in iOS 4.0 and later.

Declared in CFBase.h.

kCFCoreFoundationVersionNumber10_6_2

The Core Foundation framework version in OS X version 10.6.2.

Available in iOS 4.0 and later.

Declared in CFBase.h.

kCFCoreFoundationVersionNumber10_6_3

The Core Foundation framework version in OS X version 10.6.3.

Available in iOS 4.0 and later.

Declared in CFBase.h.

kCFCoreFoundationVersionNumber10_6_4

The Core Foundation framework version in OS X version 10.6.4.

Available in iOS 4.3 and later.

Declared in CFBase.h.

kCFCoreFoundationVersionNumber10_6_5

The Core Foundation framework version in OS X version 10.6.5.

Available in iOS 4.3 and later.

Declared in CFBase.h.

kCFCoreFoundationVersionNumber10_6_6

The Core Foundation framework version in OS X version 10.6.6.

Available in iOS 6.0 and later.

Declared in CFBase.h.

kCFCoreFoundationVersionNumber10_6_7

The Core Foundation framework version in OS X version 10.6.7.

Available in iOS 6.0 and later.

Declared in CFBase.h.

kCFCoreFoundationVersionNumber10_6_8

The Core Foundation framework version in OS X version 10.6.8.

Available in iOS 6.0 and later.

Declared in CFBase.h.

kCFCoreFoundationVersionNumber10_7

The Core Foundation framework version in OS X version 10.7.

Available in iOS 6.0 and later.

Declared in CFBase.h.

kCFCoreFoundationVersionNumber10_7_1

The Core Foundation framework version in OS X version 10.7.1.

Available in iOS 6.0 and later.

Declared in CFBase.h.

kCFCoreFoundationVersionNumber10_7_2

The Core Foundation framework version in OS X version 10.7.2.

Available in iOS 6.0 and later.

Declared in CFBase.h.

kCFCoreFoundationVersionNumber10_7_3

The Core Foundation framework version in OS X version 10.7.3.

Available in iOS 6.0 and later.

Declared in CFBase.h.

kCFCoreFoundationVersionNumber10_7_4

The Core Foundation framework version in OS X version 10.7.4.

Available in iOS 6.0 and later.

Declared in CFBase.h.

kCFCoreFoundationVersionNumber_iPhoneOS_2_0

The Core Foundation framework version in iOS version 2.0.

Available in iOS 2.2 and later.

Declared in CFBase.h.

kCFCoreFoundationVersionNumber_iPhoneOS_2_1

The Core Foundation framework version in iOS version 2.1.

Available in iOS 2.2 and later.

Declared in CFBase.h.

kCFCoreFoundationVersionNumber_iPhoneOS_2_2

The Core Foundation framework version in iOS version 2.2.

Available in iOS 3.0 and later.

Declared in CFBase.h.

kCFCoreFoundationVersionNumber_iPhoneOS_3_0

The Core Foundation framework version in iOS version 3.0.

Available in iOS 3.2 and later.

Declared in CFBase.h.

kCFCoreFoundationVersionNumber_iPhoneOS_3_1

The Core Foundation framework version in iOS version 3.1.

Available in iOS 3.2 and later.

Declared in CFBase.h.

kCFCoreFoundationVersionNumber_iPhoneOS_3_2

The Core Foundation framework version in iOS version 3.2.

Available in iOS 4.0 and later.

Declared in CFBase.h.

kCFCoreFoundationVersionNumber_iOS_4_0

The Core Foundation framework version in iOS version 4.0.

Available in iOS 4.2 and later.

Declared in CFBase.h.

kCFCoreFoundationVersionNumber_iOS_4_1

The Core Foundation framework version in iOS version 4.1.

Available in iOS 4.3 and later.

Declared in CFBase.h.

kCFCoreFoundationVersionNumber_iOS_4_2

The Core Foundation framework version in iOS version 4.2.

Available in iOS 4.3 and later.

Declared in CFBase.h.

kCFCoreFoundationVersionNumber_iOS_4_3

The Core Foundation framework version in iOS version 4.3.

Available in iOS 6.0 and later.

Declared in CFBase.h.

kCFCoreFoundationVersionNumber_iOS_5_0

The Core Foundation framework version in iOS version 5.0.

Available in iOS 6.0 and later.

Declared in CFBase.h.

kCFCoreFoundationVersionNumber_iOS_5_1

The Core Foundation framework version in iOS version 5.1.

Available in iOS 6.0 and later.

Declared in CFBase.h.

Discussion

Compare these values to the value of the kCFCoreFoundationVersionNumber variable to identify on which version of the Core Foundation framework your code is executing.