theKernel 10.0 NHI1 - theKernel - theLink - theConfig - theSq3Lite - theCompiler - theBrain - theGuard
c - tcl - py - rb - 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 MkObjectCR
 instance-struct-reference same as struct MkObjectS, useable in a class-macro as: class##R
 
typedef const struct MkObjectS 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 MkObjCheck (MK_MNGN mng)
 check MkObjectS -> MkObjectS::signature
 
bool MkObjCheckO (MK_OBJN obj)
 check MkObjectS -> MkObjectS::signature
 
#define MkObjectC_Check(mng)
 

MkObjectC - cast from a defined or a undefined instance

MK_OBJ MkObj (MK_MNG mng)
 cast a unknown-object into an MkObjectS pointer or NULL if not possible
 
MK_OBJN 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 - MkObjectC_Class_Define_C_API - function

MK_EXTERN MK_OBJ MkObjP (MK_MNG mng)
 Non-inline replacement for MkObj
 
MK_EXTERN MK_BOOL MkObjCheckP (MK_MNGN mng)
 Non-inline replacement for MkObjCheck
 
MK_EXTERN MK_BOOL MkObjCheckOP (MK_OBJN obj)
 Non-inline replacement for MkObjCheckO
 
MK_EXTERN MK_OBJN MkObjNP (MK_MNGN mng)
 Non-inline replacement for MkObjN
 

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

◆ MkObjectC_Check

#define MkObjectC_Check ( mng)
Value:
bool MkObjCheck(MK_MNGN mng)
check MkObjectS -> MkObjectS::signature …

Definition at line 3249 of file LibMkKernel_mk.h.

◆ MkObjectC_MASK

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

Definition at line 3178 of file LibMkKernel_mk.h.

◆ MkObjectC_NS

#define MkObjectC_NS   MK

map class to namespace …

Definition at line 3216 of file LibMkKernel_mk.h.

◆ MkObjectC_SIGNATURE

#define MkObjectC_SIGNATURE   (0x59B3u<<16)

Definition at line 3177 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 3200 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 3202 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 3208 of file LibMkKernel_mk.h.

◆ MkObjectC_X2obj

#define MkObjectC_X2obj ( x)
Value:
(x)

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

◆ MkObjectCT_TT

#define MkObjectCT_TT ( typ)
Value:
( (struct MkSuperTypeS *) (typ) )
super-class-base, the MkTypeS using the super-macro-syntax for all non specific types …
struct MkTypeS typ

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

Definition at line 3214 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 3210 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 3218 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 3212 of file LibMkKernel_mk.h.

◆ MkObjectST

#define MkObjectST   MkObjectC_T

instance-type as MkSuperTypeS-class-type …

Definition at line 3204 of file LibMkKernel_mk.h.

◆ MkObjectSTT

#define MkObjectSTT   (MkTYP(MkObjectST))

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

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

3275 #define MkObjRaise(_obj) if (!_MkCheckX(MkObjectC,_obj)) { \
3276 MkErrorSetC_1E("'MkObjectC' hdl is NULL"); \
3277 goto error ; \
3278 }

Typedef Documentation

◆ MkObjectCNR

typedef const struct MkObjectS MkObjectCNR

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

Definition at line 3198 of file LibMkKernel_mk.h.

◆ MkObjectCR

typedef struct MkObjectS MkObjectCR

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

Definition at line 3196 of file LibMkKernel_mk.h.

Function Documentation

◆ MkObj()

MK_OBJ MkObj ( MK_MNG mng)
inline

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

Definition at line 3262 of file LibMkKernel_mk.h.

3262 {
3263 return (MkObjCheck(mng) ? (MK_OBJ)mng : NULL);
3264 }
object header …

◆ MkObjCheck()

bool MkObjCheck ( MK_MNGN mng)
inline

check MkObjectS -> MkObjectS::signature

Returns
TRUE on valid obj and FALSE an invalid obj

Definition at line 3236 of file LibMkKernel_mk.h.

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

◆ MkObjCheckO()

bool MkObjCheckO ( MK_OBJN obj)
inline

check MkObjectS -> MkObjectS::signature

Returns
TRUE on valid obj and FALSE an invalid obj

Definition at line 3244 of file LibMkKernel_mk.h.

3244 {
3245 return MkSanitizeCheckO(MkObjectC,obj);
3246 }
#define MkSanitizeCheckO(_root, _o)

◆ MkObjCheckOP()

MK_EXTERN MK_BOOL MkObjCheckOP ( MK_OBJN obj)

Non-inline replacement for MkObjCheckO

◆ MkObjCheckP()

MK_EXTERN MK_BOOL MkObjCheckP ( MK_MNGN mng)

Non-inline replacement for MkObjCheck

◆ MkObjN()

MK_OBJN MkObjN ( MK_MNGN mng)
inline

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

Definition at line 3270 of file LibMkKernel_mk.h.

3270 {
3271 return (MkObjCheck(mng) ? (MK_OBJN)mng : NULL);
3272 }

◆ MkObjNP()

MK_EXTERN MK_OBJN MkObjNP ( MK_MNGN mng)

Non-inline replacement for MkObjN

◆ MkObjP()

MK_EXTERN MK_OBJ MkObjP ( MK_MNG mng)

Non-inline replacement for MkObj