MkObjectC - class known as obj or object is used as base-class type for a Programming-Language-Micro-Kernel (PLMK) class … More...
Topics | |
MkObjectC_Class_C_API | |
MkObjectC - define the class … | |
MkObjectC_TOR_C_API | |
MkObjectC - create and destroy a managed-object … | |
MkObjectC_Obj_C_API | |
MkObjectC - managed-object details | |
MkObjectC_Misc_C_API | |
MkObjectC - various functions related to the MkObjectS … | |
MkObjectC_Log_C_API | |
MkObjectC - log information to MkLogFileC (default: stderr) … | |
MkObjectC_Dbg_C_API | |
MkObjectC - log a debugging-message to the MkLogFileC (default: stderr) … | |
MkObjectC_Sys_C_API | |
MkObjectC - L)anguage A)bstraction L)ayer definition … | |
Data Structures | |
struct | MkObjectProtectS |
the protect is used to "protect" data set by pAllocCreate if the new object is later initialized with a type specific object-initialization … More... | |
struct | MkObjectS |
object header … More... | |
struct | MkAllocDefS |
define the storage-allocator function More... | |
Macros | |
#define | MK_NULL_SIGNATURE 0 |
signature used to mark an invalid signature … | |
#define | MkObjectHandleGetOfType_1X(x) |
Functions | |
MK_I32 | MkObjectHandleGetOfType (MK_OBJ const obj) |
Export-Slot - returns typeHdl of the obj . | |
MkObjectC slot definition | |
typedef MK_OBJ(* | MkConstructorF) (MK_RT mkrt, MK_TYP type, MK_PTR nat, MK_PTR lnk) |
typedef void(* | MkDestructorF) (MK_RT mkrt, MK_OBJ const obj) |
typedef MK_OBJ(* | MkDupF) (MK_RT mkrt, MK_OBJ const obj) |
typedef MK_OBJ(* | MkDup2F) (MK_RT mkrt, MK_OBJ const obj, MK_STRN const ident) |
typedef MK_OBJ(* | MkMergeF) (MK_RT mkrt, MK_OBJ const obj) |
typedef MK_OBJ(* | MkCopyF) (MK_RT mkrt, MK_OBJ const obj, MK_OBJN const src) |
typedef void(* | MkResetF) (MK_RT mkrt, MK_OBJ const obj) |
typedef MK_PTR(* | MkSelfCreateF) (MK_RT mkrt, MK_OBJ const obj, MK_PTR const env) |
typedef void(* | MkSelfDeleteF) (MK_RT mkrt, MK_PTR self, MK_PTR const env) |
typedef void(* | MkSelfUnlinkF) (MK_RT mkrt, MK_PTR self, MK_PTR const env) |
typedef void(* | MkLogF) (MK_RT mkrt, MK_OBJN const obj, MK_OBJN fmt, MK_I32 const debug, MK_STRN const prefix, MK_I32 const lvl) |
typedef MK_STRN(* | MkToStringF) (MK_RT mkrt, MK_OBJN const obj) |
typedef MK_PTR(* | MkAllocCreateFLT) (MK_RT mkrt, MK_TYP const type) |
typedef void(* | MkAllocDeleteF) (MK_RT mkrt, MK_TYP const type, MK_PTR ptr) |
typedef void(* | MkTypeInitF) (MK_RT mkrt, MK_TYP const type) |
typedef bool(* | MkLogFormatF) (MK_RT mkrt, char *header, MK_SIZE const headerSize, MK_OBJN const obj, MK_STRN const caller, MK_I32 const debug, MK_STRN const fmt) |
MkObjectC type check | |
#define | __MkCheckTO(t, o) |
#define | _MkCheckTO(t, o) |
#define | __MkCheckO(cls, o) |
#define | _MkCheckO(cls, o) |
#define | __MkCheckX(cls, x) |
#define | _MkCheckX(cls, x) |
#define | __MkCheckM(cls, m) |
#define | _MkCheckM(cls, m) |
#define | MkCheckNN(cls, x) |
#define | MkSanitizeCheck(_root, _m) |
#define | MkSanitizeCheckO(_root, _o) |
#define | toTT(_type) |
MkObjectC - class known as obj or object is used as base-class type for a Programming-Language-Micro-Kernel (PLMK) class …
libmkkernel is also called as Programming-Language-Micro-Kernel (PLMK). libmkkernel is like a programming-language without syntax but using the Target-Programming-Language (in our case C) of the Micro-Kernel as runtime environment.
This integration is done using the managed-object-technology.
The managed object supports low level integration features descripted in MkObjectS :
In the implementation-layer of libmkkernel only the public-features of the MkObjectC are visible to the programmer.
#define __MkCheckM | ( | cls, | |
m ) |
Definition at line 3069 of file LibMkKernel_mk.h.
#define __MkCheckO | ( | cls, | |
o ) |
Definition at line 3065 of file LibMkKernel_mk.h.
#define __MkCheckTO | ( | t, | |
o ) |
Definition at line 3063 of file LibMkKernel_mk.h.
#define __MkCheckX | ( | cls, | |
x ) |
Definition at line 3067 of file LibMkKernel_mk.h.
#define _MkCheckM | ( | cls, | |
m ) |
Definition at line 3070 of file LibMkKernel_mk.h.
#define _MkCheckO | ( | cls, | |
o ) |
Definition at line 3066 of file LibMkKernel_mk.h.
#define _MkCheckTO | ( | t, | |
o ) |
Definition at line 3064 of file LibMkKernel_mk.h.
#define _MkCheckX | ( | cls, | |
x ) |
Definition at line 3068 of file LibMkKernel_mk.h.
#define MK_NULL_SIGNATURE 0 |
signature used to mark an invalid signature …
Definition at line 3088 of file LibMkKernel_mk.h.
#define MkCheckNN | ( | cls, | |
x ) |
Definition at line 3072 of file LibMkKernel_mk.h.
#define MkObjectHandleGetOfType_1X | ( | x | ) |
Definition at line 3306 of file LibMkKernel_mk.h.
#define MkSanitizeCheck | ( | _root, | |
_m ) |
Definition at line 3079 of file LibMkKernel_mk.h.
#define MkSanitizeCheckO | ( | _root, | |
_o ) |
Definition at line 3080 of file LibMkKernel_mk.h.
#define toTT | ( | _type | ) |
Definition at line 3083 of file LibMkKernel_mk.h.
Definition at line 3429 of file LibMkKernel_mk.h.
Definition at line 3430 of file LibMkKernel_mk.h.
Definition at line 3413 of file LibMkKernel_mk.h.
Definition at line 3418 of file LibMkKernel_mk.h.
Definition at line 3414 of file LibMkKernel_mk.h.
Definition at line 3416 of file LibMkKernel_mk.h.
Definition at line 3415 of file LibMkKernel_mk.h.
typedef void(* MkLogF) (MK_RT mkrt, MK_OBJN const obj, MK_OBJN fmt, MK_I32 const debug, MK_STRN const prefix, MK_I32 const lvl) |
Definition at line 3426 of file LibMkKernel_mk.h.
typedef bool(* MkLogFormatF) (MK_RT mkrt, char *header, MK_SIZE const headerSize, MK_OBJN const obj, MK_STRN const caller, MK_I32 const debug, MK_STRN const fmt) |
Definition at line 3432 of file LibMkKernel_mk.h.
Definition at line 3417 of file LibMkKernel_mk.h.
Definition at line 3419 of file LibMkKernel_mk.h.
Definition at line 3421 of file LibMkKernel_mk.h.
Definition at line 3423 of file LibMkKernel_mk.h.
Definition at line 3425 of file LibMkKernel_mk.h.
Definition at line 3428 of file LibMkKernel_mk.h.
Definition at line 3431 of file LibMkKernel_mk.h.
Export-Slot - returns typeHdl of the obj .
A typeHdl identifies the type the obj belongs to. All instances of the same class share the same typeHdl.
[in] | obj | the MkObjectS instance to work on - a MANAGED OBJECT after type-check and able to be supported by the MkObjectS API |
Definition at line 3302 of file LibMkKernel_mk.h.