theKernel 10.0
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 MkTypeDefS-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 MkTypeDefS-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 MkTypeDefS-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 MkTypeDefS-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 MkTypeDefS *) MkObjectCTT )
 class as MkTypeDefS-class-type for MkObjectC in the Target-Programming-Language (TPL)
 

MkObjectC - signature check

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

MkObjectC - cast from a defined or a undefined instance

static MK_OBJ libmkkernel::MkObj (MK_MNG mng)
 cast a unknown-object into an MkObjectS pointer or NULL if not possible
 
static 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 3551 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 3549 of file LibMkKernel_mk.h.

◆ MkObjectC_Check

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

Definition at line 3518 of file LibMkKernel_mk.h.

◆ MkObjectC_MASK

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

Definition at line 3449 of file LibMkKernel_mk.h.

◆ MkObjectC_NS

#define MkObjectC_NS   MK

map class to namespace …

Definition at line 3486 of file LibMkKernel_mk.h.

◆ MkObjectC_SIGNATURE

#define MkObjectC_SIGNATURE   (0x59B3u<<16)

Definition at line 3448 of file LibMkKernel_mk.h.

◆ MkObjectC_T

#define MkObjectC_T   (&MK_RT_REF._MkObjectC_T)

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

Definition at line 3470 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 3472 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 3478 of file LibMkKernel_mk.h.

◆ MkObjectC_X2obj

#define MkObjectC_X2obj ( x)
Value:
(x)

Definition at line 3457 of file LibMkKernel_mk.h.

◆ MkObjectCT

#define MkObjectCT   ( (struct MkTypeDefS *) MkObjectCTT )

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

Definition at line 3490 of file LibMkKernel_mk.h.

◆ MkObjectCT_TT

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

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

Definition at line 3484 of file LibMkKernel_mk.h.

◆ MkObjectCT_X

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

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

Definition at line 3480 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 3488 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 3482 of file LibMkKernel_mk.h.

◆ MkObjectST

#define MkObjectST   MkObjectC_T

instance-type as MkTypeDefS-class-type …

Definition at line 3474 of file LibMkKernel_mk.h.

◆ MkObjectSTT

#define MkObjectSTT   (MkTYP(MkObjectST))

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

Definition at line 3476 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 3543 of file LibMkKernel_mk.h.

3543 #define MkObjRaise(_obj) if (!_MkCheckX(MkObjectC,_obj)) { \
3544 MkErrorSetC_1E("'MkObjectC' hdl is NULL"); \
3545 goto error ; \
3546 }

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 3468 of file LibMkKernel_mk.h.

◆ MkObjectCR

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

Definition at line 3466 of file LibMkKernel_mk.h.

Function Documentation

◆ MkObj()

static MK_OBJ libmkkernel::MkObj ( MK_MNG mng)
inlinestatic

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

Definition at line 3530 of file LibMkKernel_mk.h.

3530 {
3531 return (MkObjCheck(mng) ? (MK_OBJ)mng : NULL);
3532 }
static bool MkObjCheck(MK_MNGN mng)
check MkObjectS -> libmkkernel::MkObjectS::signature …

◆ MkObjCheck()

static bool libmkkernel::MkObjCheck ( MK_MNGN mng)
inlinestatic

check MkObjectS -> libmkkernel::MkObjectS::signature

Returns
TRUE on valid obj and FALSE an invalid obj

Definition at line 3505 of file LibMkKernel_mk.h.

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

◆ MkObjCheckO()

static bool libmkkernel::MkObjCheckO ( MK_OBJN obj)
inlinestatic

check MkObjectS -> libmkkernel::MkObjectS::signature

Returns
TRUE on valid obj and FALSE an invalid obj

Definition at line 3513 of file LibMkKernel_mk.h.

3513 {
3514 return MkSanitizeCheckO(MkObjectC,obj);
3515 }
#define MkSanitizeCheckO(_root, _o)
+ Here is the caller graph for this function:

◆ MkObjN()

static MK_OBJN libmkkernel::MkObjN ( MK_MNGN mng)
inlinestatic

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

Definition at line 3538 of file LibMkKernel_mk.h.

3538 {
3539 return (MkObjCheck(mng) ? (MK_OBJN)mng : NULL);
3540 }