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 … | |
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 MK_OBJ(* | 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 | MkAssertO(cls, o) |
#define | MkAssertX(cls, x) |
#define | MkAssertCastM(cls, m) |
} | |
#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 3171 of file LibMkKernel_mk.h.
#define __MkCheckO | ( | cls, | |
o ) |
Definition at line 3167 of file LibMkKernel_mk.h.
#define __MkCheckTO | ( | t, | |
o ) |
Definition at line 3165 of file LibMkKernel_mk.h.
#define __MkCheckX | ( | cls, | |
x ) |
Definition at line 3169 of file LibMkKernel_mk.h.
#define _MkCheckM | ( | cls, | |
m ) |
Definition at line 3172 of file LibMkKernel_mk.h.
#define _MkCheckO | ( | cls, | |
o ) |
Definition at line 3168 of file LibMkKernel_mk.h.
#define _MkCheckTO | ( | t, | |
o ) |
Definition at line 3166 of file LibMkKernel_mk.h.
#define _MkCheckX | ( | cls, | |
x ) |
Definition at line 3170 of file LibMkKernel_mk.h.
#define MK_NULL_SIGNATURE 0 |
signature used to mark an invalid signature …
Definition at line 3199 of file LibMkKernel_mk.h.
#define MkAssertCastM | ( | cls, | |
m ) |
}
cast m to cls but allow the MK_NULL
value, on fail raise an assert
error.
Definition at line 3192 of file LibMkKernel_mk.h.
#define MkAssertO | ( | cls, | |
o ) |
assert
on invalid ptr but allow the MK_NULL
ptr {
Definition at line 3187 of file LibMkKernel_mk.h.
#define MkAssertX | ( | cls, | |
x ) |
Definition at line 3188 of file LibMkKernel_mk.h.
#define MkCheckNN | ( | cls, | |
x ) |
Definition at line 3174 of file LibMkKernel_mk.h.
#define MkSanitizeCheck | ( | _root, | |
_m ) |
Definition at line 3181 of file LibMkKernel_mk.h.
#define MkSanitizeCheckO | ( | _root, | |
_o ) |
Definition at line 3182 of file LibMkKernel_mk.h.
#define toTT | ( | _type | ) |
Definition at line 3194 of file LibMkKernel_mk.h.
Definition at line 3573 of file LibMkKernel_mk.h.
Definition at line 3574 of file LibMkKernel_mk.h.
Definition at line 3557 of file LibMkKernel_mk.h.
Definition at line 3562 of file LibMkKernel_mk.h.
Definition at line 3558 of file LibMkKernel_mk.h.
Definition at line 3560 of file LibMkKernel_mk.h.
Definition at line 3559 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 3570 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 3576 of file LibMkKernel_mk.h.
Definition at line 3561 of file LibMkKernel_mk.h.
Definition at line 3563 of file LibMkKernel_mk.h.
Definition at line 3565 of file LibMkKernel_mk.h.
Definition at line 3567 of file LibMkKernel_mk.h.
Definition at line 3569 of file LibMkKernel_mk.h.
Definition at line 3572 of file LibMkKernel_mk.h.
Definition at line 3575 of file LibMkKernel_mk.h.