Zen API
|
#define kAddPrivateFrameworkConstructor | ( | SYMBOL, | |
CTOR | |||
) |
Within a type definition, indicates that a type has the specified default private constructor.
Framework constructors are used to construct objects via reflection, and are not inherited. Their scope is limited to specific frameworks (deserialization and cloning) that guarantee constrained usage patterns. Specifically, after default construction, a framework-specific method will always be invoked to complete object initialization (e.g., deserialization method). If this framework-specific method should fail, kObject_Dispose will be called on the partially constructed object to clean up. As such, the only requirement when implementing a default constructor is to sufficiently initialize the object such that it could accept a subsequent framework initialization method, or be disposed.
The private version of this macro assumes that the full function name will be prefixed with an "x".
SYMBOL | Type symbol (e.g. kArrayList). |
CTOR | Constructor name (e.g. ConstructFramework). |