theKernel 10.0 NHI1 - theKernel - theLink - theConfig - theSq3Lite - theCompiler - theBrain - theGuard
c - tcl - py - jv - cc
Loading...
Searching...
No Matches
MkObjectC_Class_Define_C_API

MkObjectC - low level definition, access and cast … More...

+ Collaboration diagram for MkObjectC_Class_Define_C_API:

MkObjectC - type definition

typedef struct MkObjectS libmkkernel::MkObjectCR
 instance-struct-reference same as struct MkObjectS, useable in a class-macro as: class##R
 
typedef const struct MkObjectS libmkkernel::MkObjectCNR
 const instance-struct-reference same as const struct MkObjectS, useable in a class-macro as: class##R
 
#define MkObjectC_T   (&MK_RT_REF._MkObjectC_T)
 class as MkSuperTypeS-class-type, useable in a class-macro as: class##_T
 
#define MkObjectC_TT   (MkTYP(MkObjectC_T))
 class as MkTypeS-class-type, useable in a class-macro as: class##_TT
 
#define MkObjectST   MkObjectC_T
 instance-type as MkSuperTypeS-class-type …
 
#define MkObjectSTT   (MkTYP(MkObjectST))
 instance-type as MkTypeS-class-type (cast from MkObjectST into MkTypeS) …
 
#define MkObjectC_type   MK_OBJ
 same as MkObjectS but useable in a class-macro as: class##_type
 
#define MkObjectCT_X(instance)
 cast from an instance into the MkSuperTypeS-class-type …
 
#define MkObjectCTT_X(instance)
 cast from an instance into the MkTypeS-class-type …
 
#define MkObjectCT_TT(typ)
 cast from an MkTypeS-class-type into an MkSuperTypeS-class-type …
 
#define MkObjectC_NS   MK
 map class to namespace …
 
#define MkObjectCTT   MkObjectCTT
 class as MkTypeS-class-type for MkObjectC in the Target-Programming-Language (TPL)
 
#define MkObjectCT   ( (struct MkSuperTypeS *) MkObjectCTT )
 class as MkSuperTypeS-class-type for MkObjectC in the Target-Programming-Language (TPL)
 

MkObjectC - signature check

bool libmkkernel::MkObjCheck (MK_MNGN mng)
 check MkObjectS -> libmkkernel::MkObjectS::signature
 
bool libmkkernel::MkObjCheckO (MK_OBJN obj)
 check MkObjectS -> libmkkernel::MkObjectS::signature
 
#define MkObjectC_Check(mng)
 

MkObjectC - cast from a defined or a undefined instance

MK_OBJ libmkkernel::MkObj (MK_MNG mng)
 cast a unknown-object into an MkObjectS pointer or NULL if not possible
 
MK_OBJN libmkkernel::MkObjN (MK_MNGN mng)
 (const) cast a unknown-object into an MkObjectS pointer or NULL if not possible
 
#define MkObjRaise(_obj)
 raise an error if class-instance is not valid
 
#define MkOBJ_R(x)
 cast a known-object into an MkObjectS reference
 
#define MkOBJ(x)
 cast a known-object into an MkObjectS pointer
 

MkObjectC - signature define

#define MkObjectC_SIGNATURE   (0x59B3u<<16)
 
#define MkObjectC_MASK   (((1u<<16)-1)<<16)
 

MkObjectC - cast to superclass

#define MkObjectC_X2obj(x)
 

Detailed Description

MkObjectC - low level definition, access and cast …

Macro Definition Documentation

◆ MkOBJ

#define MkOBJ ( x)
Value:
(&MkOBJ_R(x))
#define MkOBJ_R(x)
cast a known-object into an MkObjectS reference

cast a known-object into an MkObjectS pointer

Definition at line 3263 of file LibMkKernel_mk.h.

◆ MkOBJ_R

#define MkOBJ_R ( x)
Value:
(*(x)).super.obj

cast a known-object into an MkObjectS reference

Definition at line 3261 of file LibMkKernel_mk.h.

◆ MkObjectC_Check

#define MkObjectC_Check ( mng)
Value:
MkObjCheck(mng)

Definition at line 3231 of file LibMkKernel_mk.h.

◆ MkObjectC_MASK

#define MkObjectC_MASK   (((1u<<16)-1)<<16)

Definition at line 3162 of file LibMkKernel_mk.h.

◆ MkObjectC_NS

#define MkObjectC_NS   MK

map class to namespace …

Definition at line 3200 of file LibMkKernel_mk.h.

◆ MkObjectC_SIGNATURE

#define MkObjectC_SIGNATURE   (0x59B3u<<16)

Definition at line 3161 of file LibMkKernel_mk.h.

◆ MkObjectC_T

#define MkObjectC_T   (&MK_RT_REF._MkObjectC_T)

class as MkSuperTypeS-class-type, useable in a class-macro as: class##_T

Definition at line 3184 of file LibMkKernel_mk.h.

◆ MkObjectC_TT

#define MkObjectC_TT   (MkTYP(MkObjectC_T))

class as MkTypeS-class-type, useable in a class-macro as: class##_TT

Definition at line 3186 of file LibMkKernel_mk.h.

◆ MkObjectC_type

#define MkObjectC_type   MK_OBJ

same as MkObjectS but useable in a class-macro as: class##_type

Definition at line 3192 of file LibMkKernel_mk.h.

◆ MkObjectC_X2obj

#define MkObjectC_X2obj ( x)
Value:
(x)

Definition at line 3170 of file LibMkKernel_mk.h.

◆ MkObjectCT

#define MkObjectCT   ( (struct MkSuperTypeS *) MkObjectCTT )

class as MkSuperTypeS-class-type for MkObjectC in the Target-Programming-Language (TPL)

Definition at line 3204 of file LibMkKernel_mk.h.

◆ MkObjectCT_TT

#define MkObjectCT_TT ( typ)
Value:
( (struct MkSuperTypeS *) (typ) )

cast from an MkTypeS-class-type into an MkSuperTypeS-class-type …

Definition at line 3198 of file LibMkKernel_mk.h.

◆ MkObjectCT_X

#define MkObjectCT_X ( instance)
Value:
( (struct MkSuperTypeS *) (MkOBJ_R(instance).type) )

cast from an instance into the MkSuperTypeS-class-type …

Definition at line 3194 of file LibMkKernel_mk.h.

◆ MkObjectCTT

#define MkObjectCTT   MkObjectCTT

class as MkTypeS-class-type for MkObjectC in the Target-Programming-Language (TPL)

Definition at line 3202 of file LibMkKernel_mk.h.

◆ MkObjectCTT_X

#define MkObjectCTT_X ( instance)
Value:
(MkOBJ_R(instance).type)

cast from an instance into the MkTypeS-class-type …

Definition at line 3196 of file LibMkKernel_mk.h.

◆ MkObjectST

#define MkObjectST   MkObjectC_T

instance-type as MkSuperTypeS-class-type …

Definition at line 3188 of file LibMkKernel_mk.h.

◆ MkObjectSTT

#define MkObjectSTT   (MkTYP(MkObjectST))

instance-type as MkTypeS-class-type (cast from MkObjectST into MkTypeS) …

Definition at line 3190 of file LibMkKernel_mk.h.

◆ MkObjRaise

#define MkObjRaise ( _obj)
Value:
if (!_MkCheckX(MkObjectC,_obj)) { \
MkErrorSetC_1E("'MkObjectC' hdl is NULL"); \
goto error ; \
}
#define _MkCheckX(cls, x)

raise an error if class-instance is not valid

Definition at line 3255 of file LibMkKernel_mk.h.

3255 #define MkObjRaise(_obj) if (!_MkCheckX(MkObjectC,_obj)) { \
3256 MkErrorSetC_1E("'MkObjectC' hdl is NULL"); \
3257 goto error ; \
3258 }

Typedef Documentation

◆ MkObjectCNR

typedef const struct MkObjectS libmkkernel::MkObjectCNR

const instance-struct-reference same as const struct MkObjectS, useable in a class-macro as: class##R

Definition at line 3182 of file LibMkKernel_mk.h.

◆ MkObjectCR

instance-struct-reference same as struct MkObjectS, useable in a class-macro as: class##R

Definition at line 3180 of file LibMkKernel_mk.h.

Function Documentation

◆ MkObj()

MK_OBJ libmkkernel::MkObj ( MK_MNG mng)
inline

cast a unknown-object into an MkObjectS pointer or NULL if not possible

Definition at line 3243 of file LibMkKernel_mk.h.

3243 {
3244 return (MkObjCheck(mng) ? (MK_OBJ)mng : NULL);
3245 }
bool MkObjCheck(MK_MNGN mng)
check MkObjectS -> libmkkernel::MkObjectS::signature …

◆ MkObjCheck()

bool libmkkernel::MkObjCheck ( MK_MNGN mng)
inline

check MkObjectS -> libmkkernel::MkObjectS::signature

Returns
TRUE on valid obj and FALSE an invalid obj

Definition at line 3219 of file LibMkKernel_mk.h.

3219 {
3220 return MkSanitizeCheck(MkObjectC,mng);
3221 }
#define MkSanitizeCheck(_root, _m)
+ Here is the caller graph for this function:

◆ MkObjCheckO()

bool libmkkernel::MkObjCheckO ( MK_OBJN obj)
inline

check MkObjectS -> libmkkernel::MkObjectS::signature

Returns
TRUE on valid obj and FALSE an invalid obj

Definition at line 3226 of file LibMkKernel_mk.h.

3226 {
3227 return MkSanitizeCheckO(MkObjectC,obj);
3228 }
#define MkSanitizeCheckO(_root, _o)

◆ MkObjN()

MK_OBJN libmkkernel::MkObjN ( MK_MNGN mng)
inline

(const) cast a unknown-object into an MkObjectS pointer or NULL if not possible

Definition at line 3250 of file LibMkKernel_mk.h.

3250 {
3251 return (MkObjCheck(mng) ? (MK_OBJN)mng : NULL);
3252 }