libGimbal 0.1.0
C17-Based Extended Standard Library and Cross-Language Runtime Framework
Loading...
Searching...
No Matches
GblClassClosure Struct Reference

#include <gimbal_class_closure.h>

Inheritance diagram for GblClassClosure:
GblClosure GblBox GblInstance

Data Fields

union { 
 
   GblClassClosureClass *   pClass 
 
   GblClosure   base 
 
};  
 
struct { 
 
   GblType   classType 
 
   size_t   offset 
 
   GblInstance *   pInstance 
 
private_ 
 
- Data Fields inherited from GblClosure
union { 
 
   GblClosureClass *   pClass 
 
   GblBox   base 
 
};  
 
struct { 
 
   GblMarshalFn   pFnMarshal 
 
private_ 
 
- Data Fields inherited from GblBox
union { 
 
   GblBoxClass *   pClass 
 
   GblInstance   base 
 
};  
 
struct { 
 
   GblArrayMap *   pFields 
 
   volatile uint16_t   refCounter 
 
   uint16_t   contextType: 1 
 
   uint16_t   constructedInPlace: 1 
 
   uint16_t   derivedFlags: 14 
 
private_ 
 
- Data Fields inherited from GblInstance
GblClasspClass
 

Related Symbols

(Note that these are not member symbols.)

Accessor Methods

Setter methods for GblClassClosure values

void GblClassClosure_setMethod (GblClassClosure *pSelf, GblType classType, size_t offset)
 
void GblClassClosure_setInstance (GblClassClosure *pSelf, GblInstance *pInstance)
 

Detailed Description

GblClosure type for calling into virtual methods.

GblClassClosure allows for mapping a generic marshal call to invoke a virtual method on the GblClass of a GblInstance.

Definition at line 43 of file gimbal_class_closure.h.

Friends And Related Symbol Documentation

◆ GblClassClosure_setMethod()

void GblClassClosure_setMethod ( GblClassClosure pSelf,
GblType  classType,
size_t  offset 
)
related

Sets the offset of the virtual method pointer into the GblClass to invoke the closure on.

◆ GblClassClosure_setInstance()

void GblClassClosure_setInstance ( GblClassClosure pSelf,
GblInstance pInstance 
)
related

Sets the GblInstance to call the GblClass virtual method on.

Field Documentation

◆ pClass

GblClassClosureClass* GblClassClosure::pClass

Pointer to class/vtable structure.

Definition at line 43 of file gimbal_class_closure.h.

◆ base

GblClosure GblClassClosure::base

Inherited base instance structure.

Definition at line 43 of file gimbal_class_closure.h.

◆ classType

GblType GblClassClosure::classType

PRIVATE: Type of class to invoke the method on.

Definition at line 45 of file gimbal_class_closure.h.

◆ offset

size_t GblClassClosure::offset

PRIVATE: Offset of the virtual function to invoke.

Definition at line 46 of file gimbal_class_closure.h.

◆ pInstance

GblInstance* GblClassClosure::pInstance

PRIVATE: Instance to invoke the class method on.

Definition at line 47 of file gimbal_class_closure.h.


The documentation for this struct was generated from the following file: