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

#include <gimbal_box.h>

Inheritance diagram for GblBoxClass:
GblClass GblIVariantClass GblInterface GblClass GblClosureClass GblEventClass GblObjectClass GblPropertyClass GblCClosureClass GblClassClosureClass GblSignalClosureClass GblAppClass GblArenaAllocatorClass GblCmdParserClass GblContextClass GblExceptionClass GblLoggerClass GblMainLoopClass GblOptionGroupClass GblScannerClass GblSettingsClass GblTaskClass GblTestSuiteClass GblThreadClass

Data Fields

GblClass base
 
GblIVariantClass GblIVariantImpl
 
struct { 
 
   GblArrayMap *   pFields 
 
private_ 
 
GBL_RESULT(* pFnDestructor )(GblBox *pSelf)
 
- Data Fields inherited from GblClass
struct { 
 
   uintptr_t   metaClassInfo 
 
private_ 
 
- Data Fields inherited from GblIVariantClass
GblInterface base
 
const GblIVariantVTablepVTable
 
- Data Fields inherited from GblInterface
GblClass base
 
size_t outerClassOffset_
 

Related Symbols

(Note that these are not member symbols.)

GblType GblBox_type (void)
 
Userdata

Methods for managing and destroying userdata

void * GblBoxClass_userdata (const GblBoxClass *pSelf)
 
GBL_RESULT GblBoxClass_setUserdata (GblBoxClass *pSelf, void *pUserdata)
 
GBL_RESULT GblBoxClass_setUserDestructor (GblBoxClass *pSelf, GblArrayMapDtorFn pFnUdDtor)
 
Fields

Methods for managing extended userdata fields

uintptr_t GblBoxClass_field (const GblBoxClass *pSelf, GblQuark key)
 
uintptr_t GblBoxClass_takeField (GblBoxClass *pSelf, GblQuark key)
 
GblBool GblBoxClass_clearField (GblBoxClass *pSelf, GblQuark key)
 
GblBool GblBoxClass_hasField (const GblBoxClass *pSelf, GblQuark key)
 
GBL_RESULT GblBoxClass_setField (GblBoxClass *pSelf, GblQuark key, uintptr_t ud, GblArrayMapDtorFn pFnDtor)
 

Detailed Description

GblClass VTable/static data structure for GblBox.

GblBoxClass extends GblClass and implements the GblIVariant interface for GblVariant container support. It also provides arbitrary userdata storage at the class-level.

See also
GblBox

Definition at line 54 of file gimbal_box.h.

Friends And Related Symbol Documentation

◆ GblBoxClass_userdata()

void * GblBoxClass_userdata ( const GblBoxClass pSelf)
related

Returns the void* userdata pointer that has been associated with the given GblBoxClass.

◆ GblBoxClass_setUserdata()

GBL_RESULT GblBoxClass_setUserdata ( GblBoxClass pSelf,
void *  pUserdata 
)
related

Sets the void* userdata pointer, associating it with the given GblBoxClass.

◆ GblBoxClass_setUserDestructor()

GBL_RESULT GblBoxClass_setUserDestructor ( GblBoxClass pSelf,
GblArrayMapDtorFn  pFnUdDtor 
)
related

Adds an extra destructor callback to the field list, passing the given class back as the destructed value.

◆ GblBoxClass_field()

uintptr_t GblBoxClass_field ( const GblBoxClass pSelf,
GblQuark  key 
)
related

Returns the generic userdata field value associated with the given key on the class, or 0 if there isn't one.

◆ GblBoxClass_takeField()

uintptr_t GblBoxClass_takeField ( GblBoxClass pSelf,
GblQuark  key 
)
related

Extracts the generic userdata field value associated with the given key on the class, without destroying it.

◆ GblBoxClass_clearField()

GblBool GblBoxClass_clearField ( GblBoxClass pSelf,
GblQuark  key 
)
related

Destroys the generic userdata field value associated with the given key on the class, returning GBL_TRUE upon success.

◆ GblBoxClass_hasField()

GblBool GblBoxClass_hasField ( const GblBoxClass pSelf,
GblQuark  key 
)
related

Returns GBL_TRUE if the given class has generic userdata field value associated with the given key.

◆ GblBoxClass_setField()

GBL_RESULT GblBoxClass_setField ( GblBoxClass pSelf,
GblQuark  key,
uintptr_t  ud,
GblArrayMapDtorFn  pFnDtor 
)
related

Sets the generic userdata value and its optional destructor for the given key on the class, destroying the previous value if there was one.

◆ GblBox_type()

GblType GblBox_type ( void  )
related

Returns the GblType UUID associated with GblBox.

Field Documentation

◆ base

GblClass GblBoxClass::base

Inherited base class structure.

Definition at line 54 of file gimbal_box.h.

◆ GblIVariantImpl

GblIVariantClass GblBoxClass::GblIVariantImpl

Embedded interface class structure.

Definition at line 54 of file gimbal_box.h.

◆ pFields

GblArrayMap* GblBoxClass::pFields

PRIVATE: Internal storage for userdata fields.

Definition at line 56 of file gimbal_box.h.

◆ pFnDestructor

GBL_RESULT(* GblBoxClass::pFnDestructor) (GblBox *pSelf)

Virtual method invoked when a GblBox is being destroyed.

Definition at line 60 of file gimbal_box.h.


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