Polymorphic Functions

Core Foundation provides several polymorphic functions. These functions can take any Core Foundation object as a parameter and (in one instance, CFRetain) can return any Core Foundation object. These parameters and return values are given the type of CFTypeRef, a generic object-reference type. CFType is analogous to a root class in object-oriented languages because its functions can be reused by all other objects.

You use polymorphic functions for operations that are common to all Core Foundation objects: