theKernel 10.0
Loading...
Searching...
No Matches
MkExtensionC_Class_Define_C_API

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

+ Collaboration diagram for MkExtensionC_Class_Define_C_API:

MkExtensionC - type definition

typedef struct MkExtensionS MkExtensionCR
 instance-struct-reference same as struct MkExtensionS, useable in a class-macro as: class##R
 
typedef const struct MkExtensionS MkExtensionCNR
 const instance-struct-reference same as const struct MkExtensionS, useable in a class-macro as: class##R
 
#define MkExtensionC_T   (&MK_RT_REF._MkExtensionC_T)
 class as MkTypeDefS-class-type, useable in a class-macro as: class##_T
 
#define MkExtensionC_TT   (MkTYP(MkExtensionC_T))
 class as MkTypeS-class-type, useable in a class-macro as: class##_TT
 
#define MkExtensionST   MkExtensionC_T
 instance-type as MkTypeDefS-class-type …
 
#define MkExtensionSTT   (MkTYP(MkExtensionST))
 instance-type as MkTypeS-class-type (cast from MkExtensionST into MkTypeS) …
 
#define MkExtensionC_type   MK_EXT
 same as MkExtensionS but useable in a class-macro as: class##_type
 
#define MkExtensionCT_X(instance)
 cast from an instance into the MkTypeDefS-class-type …
 
#define MkExtensionCTT_X(instance)
 cast from an instance into the MkTypeS-class-type …
 
#define MkExtensionCT_TT(typ)
 cast from an MkTypeS-class-type into an MkTypeDefS-class-type …
 
#define MkExtensionC_NS   MK
 map class to namespace …
 
#define MkExtensionCTT   MkExtensionCTT
 class as MkTypeS-class-type for MkExtensionC in the Target-Programming-Language (TPL)
 
#define MkExtensionCT   ( (struct MkTypeDefS *) MkExtensionCTT )
 class as MkTypeDefS-class-type for MkExtensionC in the Target-Programming-Language (TPL)
 

MkExtensionC - signature check

static bool MkExtCheck (MK_MNGN mng)
 check MkExtensionS -> MkObjectS::signature
 
static bool MkExtCheckO (MK_OBJN obj)
 check MkExtensionS -> MkObjectS::signature
 
#define MkExtensionC_Check(mng)
 

MkExtensionC - cast from a defined or a undefined instance

static MK_EXT MkExt (MK_MNG mng)
 cast a unknown-object into an MkExtensionS pointer or NULL if not possible
 
static MK_EXTN MkExtN (MK_MNGN mng)
 (const) cast a unknown-object into an MkExtensionS pointer or NULL if not possible
 
#define MkExtRaise(_ext)
 raise an error if class-instance is not valid
 
#define MkEXT_R(x)
 cast a known-object into an MkExtensionS reference
 
#define MkEXT(x)
 cast a known-object into an MkExtensionS pointer
 

MkExtensionC - signature define

#define MkExtensionC_SIGNATURE   (MkObjectC_SIGNATURE ^ (9u<<10))
 
#define MkExtensionC_MASK   (((1u<<22)-1)<<10)
 

MkExtensionC - cast to superclass

#define MkExtensionC_X2ext(x)
 
#define MkExtensionC_X2obj(x)
 

Detailed Description

MkExtensionS - low level definition, access and cast …

Macro Definition Documentation

◆ MkEXT

#define MkEXT ( x)
Value:
(&MkEXT_R(x))
#define MkEXT_R(x)
cast a known-object into an MkExtensionS reference

cast a known-object into an MkExtensionS pointer

Definition at line 9612 of file LibMkKernel_mk.h.

◆ MkEXT_R

#define MkEXT_R ( x)
Value:
(*(x)).super.ext

cast a known-object into an MkExtensionS reference

Definition at line 9610 of file LibMkKernel_mk.h.

◆ MkExtensionC_Check

#define MkExtensionC_Check ( mng)
Value:
static bool MkExtCheck(MK_MNGN mng)
check MkExtensionS -> MkObjectS::signature …

Definition at line 9579 of file LibMkKernel_mk.h.

◆ MkExtensionC_MASK

#define MkExtensionC_MASK   (((1u<<22)-1)<<10)

Definition at line 9509 of file LibMkKernel_mk.h.

◆ MkExtensionC_NS

#define MkExtensionC_NS   MK

map class to namespace …

Definition at line 9547 of file LibMkKernel_mk.h.

◆ MkExtensionC_SIGNATURE

#define MkExtensionC_SIGNATURE   (MkObjectC_SIGNATURE ^ (9u<<10))

Definition at line 9508 of file LibMkKernel_mk.h.

◆ MkExtensionC_T

#define MkExtensionC_T   (&MK_RT_REF._MkExtensionC_T)

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

Definition at line 9531 of file LibMkKernel_mk.h.

◆ MkExtensionC_TT

#define MkExtensionC_TT   (MkTYP(MkExtensionC_T))

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

Definition at line 9533 of file LibMkKernel_mk.h.

◆ MkExtensionC_type

#define MkExtensionC_type   MK_EXT

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

Definition at line 9539 of file LibMkKernel_mk.h.

◆ MkExtensionC_X2ext

#define MkExtensionC_X2ext ( x)
Value:
(x)

Definition at line 9517 of file LibMkKernel_mk.h.

◆ MkExtensionC_X2obj

#define MkExtensionC_X2obj ( x)
Value:
#define MkOBJ(x)
cast a known-object into an MkObjectS pointer

Definition at line 9518 of file LibMkKernel_mk.h.

◆ MkExtensionCT

#define MkExtensionCT   ( (struct MkTypeDefS *) MkExtensionCTT )

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

Definition at line 9551 of file LibMkKernel_mk.h.

◆ MkExtensionCT_TT

#define MkExtensionCT_TT ( typ)
Value:
( (struct MkTypeDefS *) (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 MkTypeDefS-class-type …

Definition at line 9545 of file LibMkKernel_mk.h.

◆ MkExtensionCT_X

#define MkExtensionCT_X ( instance)
Value:
( (struct MkTypeDefS *) (MkOBJ_R(instance).type) )
#define MkOBJ_R(x)
cast a known-object into an MkObjectS reference

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

Definition at line 9541 of file LibMkKernel_mk.h.

◆ MkExtensionCTT

#define MkExtensionCTT   MkExtensionCTT

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

Definition at line 9549 of file LibMkKernel_mk.h.

◆ MkExtensionCTT_X

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

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

Definition at line 9543 of file LibMkKernel_mk.h.

◆ MkExtensionST

#define MkExtensionST   MkExtensionC_T

instance-type as MkTypeDefS-class-type …

Definition at line 9535 of file LibMkKernel_mk.h.

◆ MkExtensionSTT

#define MkExtensionSTT   (MkTYP(MkExtensionST))

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

Definition at line 9537 of file LibMkKernel_mk.h.

◆ MkExtRaise

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

raise an error if class-instance is not valid

Definition at line 9604 of file LibMkKernel_mk.h.

9604 #define MkExtRaise(_ext) if (!_MkCheckX(MkExtensionC,_ext)) { \
9605 MkErrorSetC_1E("'MkExtensionC' hdl is NULL"); \
9606 goto error ; \
9607 }

Typedef Documentation

◆ MkExtensionCNR

typedef const struct MkExtensionS MkExtensionCNR

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

Definition at line 9529 of file LibMkKernel_mk.h.

◆ MkExtensionCR

typedef struct MkExtensionS MkExtensionCR

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

Definition at line 9527 of file LibMkKernel_mk.h.

Function Documentation

◆ MkExt()

static MK_EXT MkExt ( MK_MNG mng)
inlinestatic

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

Definition at line 9591 of file LibMkKernel_mk.h.

9591 {
9592 return (MkExtCheck(mng) ? (MK_EXT)mng : NULL);
9593 }
Base class for the extension technologie …

◆ MkExtCheck()

static bool MkExtCheck ( MK_MNGN mng)
inlinestatic

check MkExtensionS -> MkObjectS::signature

Returns
TRUE on valid ext and FALSE an invalid ext

Definition at line 9566 of file LibMkKernel_mk.h.

9566 {
9567 return MkSanitizeCheck(MkExtensionC,mng);
9568 }
#define MkSanitizeCheck(_root, _m)
+ Here is the caller graph for this function:

◆ MkExtCheckO()

static bool MkExtCheckO ( MK_OBJN obj)
inlinestatic

check MkExtensionS -> MkObjectS::signature

Returns
TRUE on valid ext and FALSE an invalid ext

Definition at line 9574 of file LibMkKernel_mk.h.

9574 {
9575 return MkSanitizeCheckO(MkExtensionC,obj);
9576 }
#define MkSanitizeCheckO(_root, _o)

◆ MkExtN()

static MK_EXTN MkExtN ( MK_MNGN mng)
inlinestatic

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

Definition at line 9599 of file LibMkKernel_mk.h.

9599 {
9600 return (MkExtCheck(mng) ? (MK_EXTN)mng : NULL);
9601 }