17 #define kTypeName kText64
36 #define kTYPE_FLAGS_CLASS (0x01)
37 #define kTYPE_FLAGS_INTERFACE (0x02)
38 #define kTYPE_FLAGS_VALUE (0x04)
39 #define kTYPE_FLAGS_ENUM (0x08)
40 #define kTYPE_FLAGS_BIT_ENUM (0x10)
41 #define kTYPE_FLAGS_ABSTRACT (0x20)
42 #define kTYPE_FLAGS_ARRAY_VALUE (0x40)
265 #define kType_Assembly_(TYPE) kxType_Assembly_(TYPE)
266 #define kType_Is_(TYPE, OTHER) kxType_Is_(TYPE, OTHER)
267 #define kType_IsValue_(TYPE) kxType_IsValue_(TYPE)
268 #define kType_IsClass_(TYPE) kxType_IsClass_(TYPE)
269 #define kType_IsInterface_(TYPE) kxType_IsInterface_(TYPE)
270 #define kType_IsAbstract_(TYPE) kxType_IsAbstract_(TYPE)
271 #define kType_IsReference_(TYPE) kxType_IsReference_(TYPE)
272 #define kType_IsEnum_(TYPE) kxType_IsEnum_(TYPE)
273 #define kType_IsBitEnum_(TYPE) kxType_IsBitEnum_(TYPE)
274 #define kType_IsArrayValue_(TYPE) kxType_IsArrayValue_(TYPE)
275 #define kType_Implements_(TYPE, IFACE) kxType_Implements_(TYPE, IFACE)
276 #define kType_Extends_(TYPE, BASE) kxType_Extends_(TYPE, BASE)
277 #define kType_Base_(TYPE) kxType_Base_(TYPE)
278 #define kType_Size_(TYPE) kxType_Size_(TYPE)
279 #define kType_InnerSize_(TYPE) kxType_InnerSize_(TYPE)
280 #define kType_VTable_(TYPE) kxType_VTable_(TYPE)
281 #define kType_Static_(TYPE) kxType_Static_(TYPE)
285 #include <kApi/kType.x.h>
kBool kType_IsInterface(kType type)
Determines whether a type represents an interface.
kBool kType_IsEnum(kType type)
Reports whether the type is an enumeration.
Represents a 32-bit unsigned integer.
kBool kType_StaticInitialized(kType type)
Reports whether the type's static data structure has been successfully initialized.
Represents a library of types.
Represents a void pointer.
kBool kType_Is(kType type, kType other)
Determines whether a type is equivalent to another type.
Represents an unsigned integer that can store a pointer address.
kBool kType_IsArrayValue(kType type)
Reports whether the type is an 'array-value' type (e.g., kText32)
kBool kType_IsBitEnum(kType type)
Reports whether the type is an enumeration bitset.
kBool kType_Extends(kType type, kType baseType)
Determines whether a type extends another type.
kBool kType_IsClass(kType type)
Determines whether a type represents a class.
kAssembly kType_Assembly(kType type)
Gets the assembly to which the type belongs.
Represents a single unit (byte) in a UTF-8 character.
kBool kType_IsAbstract(kType type)
Determines whether a type represents an abstract class.
kSize kType_InnerSize(kType type)
Gets the internal size of a type.
kBool kType_IsValue(kType type)
Determines whether a type represents a value (primitive, struct, enum).
kBool kType_IsReference(kType type)
Determines whether a type represents a class or interface.
Represents an opaque reference to type version information (used in object serialization).
kType kType_Base(kType type)
Gets the base of a class or interface.
kSize kType_Size(kType type)
Gets the external size of a type.
Essential API declarations.
void(kCall * kFunction)()
Generic pointer to function.
Definition: kApiDef.h:28
kBool kType_Implements(kType type, kType interfaceType)
Determines whether a type implements a specific interface.
Represents metadata about a type (class, interface, or value).
kFunction * kType_IVTable(kType type, kType interfaceType)
Gets a pointer to the type's virtual method table corresponding to the specified interface type...
const kChar * kType_Name(kType type)
Gets the name of the type.
kFunction * kType_VTable(kType type)
Gets a pointer to the type's primary virtual method table.
Represents a boolean value.
void * kType_Static(kType type)
Gets a pointer to the type's static data structure.