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 … | |
Classes | |
struct | libmkkernel::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 | libmkkernel::MkObjectS |
object header … More... | |
struct | libmkkernel::MkAllocDefS |
define the storage-allocator function More... | |
Macros | |
#define | MK_NULL_SIGNATURE 0 |
signature used to mark an invalid signature … | |
#define | MkDbgObjInstancesO_2(o, c) |
#define | MkDbgObjInstancesX_2(x, c) |
#define | MkDbgObjInstancesX(x) |
#define | MkDbgObjInstancesO(o) |
#define | MkDbgDeepWriter(...) |
#define | MkDbgDeepX_4(m, ident, func, fmt, ...) |
#define | MkDbgDeepX_3(m, ident, fmt, ...) |
#define | MkDbgDeepX_2(m, ident) |
MkObjectC slot definition | |
typedef MK_OBJ(* | libmkkernel::MkConstructorF) (MK_RT mkrt, MK_TYP type, MK_PTR nat, MK_PTR lnk) |
typedef void(* | libmkkernel::MkDestructorF) (MK_RT mkrt, MK_OBJ const obj) |
typedef MK_OBJ(* | libmkkernel::MkDupF) (MK_RT mkrt, MK_OBJN const obj) |
typedef MK_OBJ(* | libmkkernel::MkDup2F) (MK_RT mkrt, MK_OBJN const obj, MK_STRN const ident) |
typedef MK_OBJ(* | libmkkernel::MkMergeF) (MK_RT mkrt, MK_OBJ const obj) |
typedef MK_OBJ(* | libmkkernel::MkCopyF) (MK_RT mkrt, MK_OBJ const obj, MK_OBJN const src) |
typedef MK_OBJ(* | libmkkernel::MkResetF) (MK_RT mkrt, MK_OBJ const obj) |
typedef MK_PTR(* | libmkkernel::MkSelfCreateF) (MK_RT mkrt, MK_OBJ const obj, MK_PTR const env) |
typedef void(* | libmkkernel::MkSelfDeleteF) (MK_RT mkrt, MK_PTR self, MK_PTR const env) |
typedef void(* | libmkkernel::MkSelfUnlinkF) (MK_RT mkrt, MK_PTR self, MK_PTR const env) |
typedef void(* | libmkkernel::MkLogF) (MK_RT mkrt, MK_OBJN const obj, MK_OBJN fmt, MK_DBG const debug, MK_STRN const callfunc, MK_I32 const lvl) |
typedef MK_STRN(* | libmkkernel::MkToStringF) (MK_RT mkrt, MK_OBJN const obj) |
typedef MK_PTR(* | libmkkernel::MkAllocCreateFLT) (MK_RT mkrt, MK_TYP const type) |
typedef void(* | libmkkernel::MkAllocDeleteF) (MK_RT mkrt, MK_TYP const type, MK_PTR ptr) |
typedef void(* | libmkkernel::MkTypeInitF) (MK_RT mkrt, MK_TYP const type) |
typedef bool(* | libmkkernel::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 …
ccmkkernel is also called as Programming-Language-Micro-Kernel (PLMK). ccmkkernel 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 ccmkkernel only the public-features of the MkObjectC are visible to the programmer.
#define __MkCheckM | ( | cls, | |
m ) |
Definition at line 3299 of file LibMkKernel_mk.h.
#define __MkCheckO | ( | cls, | |
o ) |
Definition at line 3295 of file LibMkKernel_mk.h.
#define __MkCheckTO | ( | t, | |
o ) |
Definition at line 3293 of file LibMkKernel_mk.h.
#define __MkCheckX | ( | cls, | |
x ) |
Definition at line 3297 of file LibMkKernel_mk.h.
#define _MkCheckM | ( | cls, | |
m ) |
Definition at line 3300 of file LibMkKernel_mk.h.
#define _MkCheckO | ( | cls, | |
o ) |
Definition at line 3296 of file LibMkKernel_mk.h.
#define _MkCheckTO | ( | t, | |
o ) |
Definition at line 3294 of file LibMkKernel_mk.h.
#define _MkCheckX | ( | cls, | |
x ) |
Definition at line 3298 of file LibMkKernel_mk.h.
#define MK_NULL_SIGNATURE 0 |
signature used to mark an invalid signature …
Definition at line 3331 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 3323 of file LibMkKernel_mk.h.
#define MkAssertO | ( | cls, | |
o ) |
assert
on invalid ptr but allow the MK_NULL
ptr {
Definition at line 3315 of file LibMkKernel_mk.h.
#define MkAssertX | ( | cls, | |
x ) |
Definition at line 3316 of file LibMkKernel_mk.h.
#define MkCheckNN | ( | cls, | |
x ) |
Definition at line 3302 of file LibMkKernel_mk.h.
#define MkDbgDeepWriter | ( | ... | ) |
Definition at line 3372 of file LibMkKernel_mk.h.
#define MkDbgDeepX_2 | ( | m, | |
ident ) |
Definition at line 3378 of file LibMkKernel_mk.h.
#define MkDbgDeepX_3 | ( | m, | |
ident, | |||
fmt, | |||
... ) |
Definition at line 3377 of file LibMkKernel_mk.h.
#define MkDbgDeepX_4 | ( | m, | |
ident, | |||
func, | |||
fmt, | |||
... ) |
Definition at line 3376 of file LibMkKernel_mk.h.
#define MkDbgObjInstancesO | ( | o | ) |
Definition at line 3363 of file LibMkKernel_mk.h.
#define MkDbgObjInstancesO_2 | ( | o, | |
c ) |
Definition at line 3352 of file LibMkKernel_mk.h.
#define MkDbgObjInstancesX | ( | x | ) |
Definition at line 3362 of file LibMkKernel_mk.h.
#define MkDbgObjInstancesX_2 | ( | x, | |
c ) |
Definition at line 3361 of file LibMkKernel_mk.h.
#define MkSanitizeCheck | ( | _root, | |
_m ) |
Definition at line 3309 of file LibMkKernel_mk.h.
#define MkSanitizeCheckO | ( | _root, | |
_o ) |
Definition at line 3310 of file LibMkKernel_mk.h.
#define toTT | ( | _type | ) |
Definition at line 3326 of file LibMkKernel_mk.h.
Definition at line 3733 of file LibMkKernel_mk.h.
Definition at line 3734 of file LibMkKernel_mk.h.
Definition at line 3717 of file LibMkKernel_mk.h.
Definition at line 3722 of file LibMkKernel_mk.h.
Definition at line 3718 of file LibMkKernel_mk.h.
Definition at line 3720 of file LibMkKernel_mk.h.
Definition at line 3719 of file LibMkKernel_mk.h.
typedef void(* libmkkernel::MkLogF) (MK_RT mkrt,MK_OBJN const obj, MK_OBJN fmt, MK_DBG const debug, MK_STRN const callfunc, MK_I32 const lvl) |
Definition at line 3730 of file LibMkKernel_mk.h.
typedef bool(* libmkkernel::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 3736 of file LibMkKernel_mk.h.
Definition at line 3721 of file LibMkKernel_mk.h.
Definition at line 3723 of file LibMkKernel_mk.h.
Definition at line 3725 of file LibMkKernel_mk.h.
Definition at line 3727 of file LibMkKernel_mk.h.
Definition at line 3729 of file LibMkKernel_mk.h.
Definition at line 3732 of file LibMkKernel_mk.h.
Definition at line 3735 of file LibMkKernel_mk.h.