Zen API

- Home
- Topics
- Types
- Files

All Classes Files Functions Variables Typedefs Friends Macros Modules Pages
Macros | Typedefs
kApiDef.h File Reference

## Description

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 | kEndianness_ShouldSwap_(E) ((E) != kEndianness_Host_())
| Reports whether byte ordering must be reversed to be consistent with the current platform. 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...