|
Zen API
|
Core Zen type declarations.
Go to the source code of this file.
Macros | |
| #define | kAbs_(A) kxAbs_(A) |
| Returns the absolute value of a number. More... | |
| #define | kAddDependency(SYMBOL) kAddDependency_(SYMBOL) |
| Within an assembly definition, specifies a dependency on another assembly. More... | |
| #define | kAddEnumerator kAddEnumerator_ |
| Within an enumeration type definition, indicates that an enumeration has the specified enumerator. More... | |
| #define | kAddField(VALUE, FIELD_TYPE, FIELD) kAddField_(VALUE, FIELD_TYPE, FIELD) |
| Within a structure type definition, indicates that a structure has the specified field. More... | |
| #define | kAddFlags(TYPE, FLAGS) kAddFlags_(TYPE, FLAGS) |
| Adds specific flags to type metadata. More... | |
| #define | kAddInterface(SYMBOL, IFACE) kAddInterface_(SYMBOL, IFACE) |
| Within a type definition, indicates that a type implements the specified interface. More... | |
| #define | kAddIVMethod(IN_TYPE, FROM_IFACE, IMETHOD, CMETHOD) kAddIVMethod_(IN_TYPE, FROM_IFACE, IMETHOD, CMETHOD) |
| Within a type definition, indicates that a type implements the specified interface method. More... | |
| #define | kAddMethod(SYMBOL, METHOD) kAddMethod_(SYMBOL, METHOD) |
| Within a type definition, indicates that a type has the specified non-virtual method. More... | |
| #define | kAddPriority(SYMBOL) kAddPriority_(SYMBOL) |
| Within an assembly definition, indicates a requirement on static initialization order. More... | |
| #define | kAddType(SYMBOL) kAddType_(SYMBOL) |
| Within an assembly definition, adds a type to the assembly. More... | |
| #define | kAddVersion(TYPE, FORMAT, FORMAT_VER, GUID, WRITE_METHOD, READ_METHOD) kAddVersion_(TYPE, FORMAT, FORMAT_VER, GUID, WRITE_METHOD, READ_METHOD) |
| Within a type definition, indicates that a type has the specified serialization version. More... | |
| #define | kAddVMethod(IN_TYPE, FROM_TYPE, METHOD) kAddVMethod_(IN_TYPE, FROM_TYPE, METHOD) |
| Within a type definition, indicates that a type overrides the specified virtual method. More... | |
| #define | kAssemblyOf(SYMBOL) kAssemblyOf_(SYMBOL) |
| Returns the kAssembly object associated with the specified assembly symbol. More... | |
| #define | kAssert(EXPRESSION) kAssert_(EXPRESSION) |
| Aborts execution if EXPRESSION is kFALSE. More... | |
| #define | kAssertType(OBJECT, SYMBOL) kAssertType_(OBJECT, SYMBOL) |
| Aborts execution if the type of the OBJECT argument is not equivalent to kTypeOf(SYMBOL). More... | |
| #define | kBeginArrayValue(PREFIX, SYMBOL, TYPE, BASE) kBeginArrayValue_(PREFIX, SYMBOL, TYPE, BASE) |
| Starts the definition of an array-based value type. More... | |
| #define | kBeginAssembly(PREFIX, SYMBOL, VERSION) kBeginAssembly_(PREFIX, SYMBOL, VERSION) |
| Starts the definition of a type assembly. More... | |
| #define | kBeginBitEnum(PREFIX, SYMBOL, BASE) kBeginBitEnum_(PREFIX, SYMBOL, BASE) |
| Starts the definition of a bit-flag enumeration value type. More... | |
| #define | kBeginClass(PREFIX, SYMBOL, BASE) kBeginClass_(PREFIX, SYMBOL, BASE) |
| Starts the definition of a class type that does not require an expanded vtable and does not have static data. More... | |
| #define | kBeginEnum(PREFIX, SYMBOL, BASE) kBeginEnum_(PREFIX, SYMBOL, BASE) |
| Starts the definition of an enumeration value type. More... | |
| #define | kBeginFullClass(PREFIX, SYMBOL, BASE) kBeginFullClass_(PREFIX, SYMBOL, BASE) |
| Starts the definition of a class type. More... | |
| #define | kBeginInterface(PREFIX, SYMBOL, BASE) kBeginInterface_(PREFIX, SYMBOL, BASE) |
| Starts the definition of an interface type. More... | |
| #define | kBeginStaticClass(PREFIX, SYMBOL) kBeginStaticClass_(PREFIX, SYMBOL) |
| Starts the definition of a class type that has only static data. More... | |
| #define | kBeginValue(PREFIX, SYMBOL, BASE) kBeginValue_(PREFIX, SYMBOL, BASE) |
| Starts the definition of a structure value type. More... | |
| #define | kBeginVirtualClass(PREFIX, SYMBOL, BASE) kBeginVirtualClass_(PREFIX, SYMBOL, BASE) |
| Starts the definition of a class type that requires an expanded vtable but does not have static data. More... | |
| #define | kCall kxCall |
| kApi standard function calling convention. | |
| #define | kCast(TYPE, ITEM) kCast_(TYPE, ITEM) |
| Casts the ITEM argument to the specified TYPE. More... | |
| #define | kCatch(STATUS_POINTER) kCatch_(STATUS_POINTER) |
| Closes a kTry block and opens a kCatch error-handling block. More... | |
| #define | kCatchEx(STATUS_POINTER) kCatchEx_(STATUS_POINTER) |
| Closes a kTry block and opens a kCatchEx error-handling block. More... | |
| #define | kCheck(EXPRESSION) kCheck_(EXPRESSION) |
| Executes a return statement if the given expression is not kOK. More... | |
| #define | kCheckArgs(EXPRESSION) kCheckArgs_(EXPRESSION) |
| Executes a return statement if the given expression is not kTRUE. More... | |
| #define | kCheckState(EXPRESSION) kCheckState_(EXPRESSION) |
| Executes a return statement if the given expression is not kTRUE. More... | |
| #define | kClamp_(V, VMIN, VMAX) kxClamp_((V), (VMIN), (VMAX)) |
| Returns a value limited to the specified range. More... | |
| #define | kCountOf(CARRAY) kCountOf_(CARRAY) |
| Returns the number of elements in a C array. More... | |
| #define | kDeclareArrayValue(PREFIX, SYMBOL, BASE) kDeclareArrayValue_(PREFIX, SYMBOL, BASE) |
| Declares type information for an array-based value type. More... | |
| #define | kDeclareAssembly(PREFIX, SYMBOL) kDeclareAssembly_(PREFIX, SYMBOL) |
| Declares a type assembly. More... | |
| #define | kDeclareBitEnum(PREFIX, SYMBOL, BASE) kDeclareBitEnum_(PREFIX, SYMBOL, BASE) |
| Declares type information for a bit-flag enumeration value type. More... | |
| #define | kDeclareClass(PREFIX, SYMBOL, BASE) kDeclareClass_(PREFIX, SYMBOL, BASE) |
| Declares type information for a class type that does not require an expanded vtable and does not have static data. More... | |
| #define | kDeclareEnum(PREFIX, SYMBOL, BASE) kDeclareEnum_(PREFIX, SYMBOL, BASE) |
| Declares type information for an enumeration value type. More... | |
| #define | kDeclareFullClass(PREFIX, SYMBOL, BASE) kDeclareFullClass_(PREFIX, SYMBOL, BASE) |
| Declares type information for a class type. More... | |
| #define | kDeclareInterface(PREFIX, SYMBOL, BASE) kDeclareInterface_(PREFIX, SYMBOL, BASE) |
| Declares type information for an interface type. More... | |
| #define | kDeclareStaticClass(PREFIX, SYMBOL) kDeclareStaticClass_(PREFIX, SYMBOL) |
| Declares type information for a class type that has only static data. More... | |
| #define | kDeclareValue(PREFIX, SYMBOL, BASE) kDeclareValue_(PREFIX, SYMBOL, BASE) |
| Declares type information for a structure value type. More... | |
| #define | kDeclareVirtualClass(PREFIX, SYMBOL, BASE) kDeclareVirtualClass_(PREFIX, SYMBOL, BASE) |
| Declares type information for a class type that requires an expanded vtable but does not have static data. More... | |
| #define | kDefineDebugHints() kDefineDebugHints_() |
| The kDefineDebugHints macro can be helpful when attempting to use debug expressions to peek inside kApi class implementations in Visual Studio. More... | |
| #define | kDlCall kxDlCall |
| kApi dynamic load function calling convention. | |
| #define | kEndArrayValue() kEndArrayValue_() |
| Ends the definition of an array-based value type. More... | |
| #define | kEndAssembly() kEndAssembly_() |
| Ends the definition of a type assembly. More... | |
| #define | kEndBitEnum() kEndBitEnum_() |
| Ends the definition of a bit-flag enumeration value type. More... | |
| #define | kEndCatch(STATUS) kEndCatch_(STATUS) |
| Closes a kCatch block. More... | |
| #define | kEndCatchEx(STATUS) kEndCatchEx_(STATUS) |
| Closes a kCatchEx block. More... | |
| #define | kEndClass() kEndClass_() |
| Ends the definition of a class type that does not require an expanded vtable and does not have static data. More... | |
| #define | kEndEnum() kEndEnum_() |
| Ends the definition of an enumeration value type. More... | |
| #define | kEndFinally() kEndFinally_() |
| Closes a kFinally block. More... | |
| #define | kEndFinallyEx() kEndFinallyEx_() |
| Closes a kFinallyEx block. More... | |
| #define | kEndFullClass() kEndFullClass_() |
| Ends the definition of a class type. More... | |
| #define | kEndInterface() kEndInterface_() |
| Ends the definition of an interface type. More... | |
| #define | kEndStaticClass() kEndStaticClass_() |
| Ends the definition of a class type that has only static data. More... | |
| #define | kEndValue() kEndValue_() |
| Ends the definition of a structure value type. More... | |
| #define | kEndVirtualClass() kEndVirtualClass_() |
| Ends the definition of a class type that requires an expanded vtable but does not have static data. More... | |
| #define | kFinally kFinally_ |
| Closes a kTry block and opens a kFinally block. More... | |
| #define | kFinallyEx kFinallyEx_ |
| Opens a kFinallyEx block. More... | |
| #define | kIsError(EXPRESSION) kIsError_(EXPRESSION) |
| Returns kTRUE if the given status value is not kOK. More... | |
| #define | kIsNull(POINTER) kIsNull_(POINTER) |
| Tests for equality with null pointer. More... | |
| #define | kItemAt_(BASE, INDEX, SIZE) kAt_((BASE), (INDEX)*(SIZE)) |
| Gets a pointer to the Nth element of an array. More... | |
| #define | kItemCopy_(DEST, SRC, SIZE) kxItemCopy_(DEST, SRC, SIZE) |
| Performs a small copy with minimal overhead. More... | |
| #define | kItemSet_(DEST, FILL, SIZE) kxItemSet_(DEST, FILL, SIZE) |
| Performs a small fill with minimal overhead. More... | |
| #define | kItemZero_(DEST, SIZE) kItemSet_(DEST, 0, SIZE) |
| Zero-initializes a small amount of memory with minimal overhead. More... | |
| #define | kMax_(A, B) kxMax_(A, B) |
| Returns the maximum of two numbers. More... | |
| #define | kMin_(A, B) kxMin_(A, B) |
| Returns the minimum of two numbers. More... | |
| #define | kNULL (0) |
| Null pointer. | |
| #define | kPoint3d_Init_(POINT, X, Y, Z) kxPoint3d_Init_(POINT, X, Y, Z) |
| Initializes a 3d point structure. More... | |
| #define | kPoint_Init_(POINT, X, Y) kxPoint_Init_(POINT, X, Y) |
| Initializes a point structure. More... | |
| #define | kRect3d_Init_(RECT, X, Y, Z, W, H, D) kxRect3d_Init_(RECT, X, Y, Z, W, H, D) |
| Initializes a rectangular cuboid structure. More... | |
| #define | kRect_Init_(RECT, X, Y, W, H) kxRect_Init_(RECT, X, Y, W, H) |
| Initializes a rectangle structure. More... | |
| #define | kRotatedRect_Init_(RECT, XC, YC, W, H, A) kxRotatedRect_Init_(RECT, XC, YC, W, H, A) |
| Initializes a rotated rectangle structure. More... | |
| #define | kStaticInitialized(SYMBOL) kStaticInitialized_(SYMBOL) |
| Indicates whether static initialization has completed for the specified type symbol. More... | |
| #define | kStaticOf(SYMBOL) kStaticOf_(SYMBOL) |
| Returns static data associated with the specified class symbol. More... | |
| #define | kSuccess(EXPRESSION) kSuccess_(EXPRESSION) |
| Returns kTRUE if the given expression value is kOK. More... | |
| #define | kTest(EXPRESSION) kTest_(EXPRESSION) |
| Used within a kTry block to conditionally jump to the first error handling block (e.g. More... | |
| #define | kTestArgs(EXPRESSION) kTestArgs_(EXPRESSION) |
| Within a kTry block, throws kERROR_PARAMETER if the expression result is kFALSE. More... | |
| #define | kTestState(EXPRESSION) kTestState_(EXPRESSION) |
| Within a kTry block, throws kERROR_STATE if the expression result is kFALSE. More... | |
| #define | kThrow(EXPRESSION) kThrow_(EXPRESSION) |
| Used within a kTry block to jump to the first error handling block (e.g. More... | |
| #define | kTrace(TAG) kTrace_(TAG) |
| Generates a trace event using the given tag (string literals only). More... | |
| #define | kTry kTry_ |
| Opens a kTry error-checking block. More... | |
| #define | kTypeOf(SYMBOL) kTypeOf_(SYMBOL) |
| Returns the kType object associated with the specified class, interface, or value symbol. More... | |
| #define | kZero_(VALUE) kxZero_(VALUE) |
| Sets all bits of a structure to zero. More... | |
Typedefs | |
| typedef kStatus(kCall * | kCallbackFx )(kPointer receiver, kPointer sender, void *args) |
| Callback signature for a generic event handler. More... | |
| typedef kBool(kCall * | kEqualsFx )(const void *item1, const void *item2) |
| Callback signature to determine equality of two items. More... | |
| typedef void(kCall * | kFunction )() |
| Generic pointer to function. | |
| typedef kSize(kCall * | kHashFx )(const void *item) |
| Callback signature to determine hash code of an item. More... | |