|
| GblClass * | pClass |
| |
| #define | GBL_TYPEOF(self) |
| |
| #define | GBL_PRIVATE(cType, self) |
| |
| #define | GBL_PUBLIC(cType, selfPriv) |
| |
| #define | GBL_TYPECHECK(cType, self) |
| |
| #define | GBL_CAST(cType, self) |
| |
| #define | GBL_AS(cType, self) |
| |
| #define | GBL_CLASSOF(cType, self) |
| |
| #define | GBL_CLASSOF_AS(cType, self) |
| |
| #define | GBL_VCALL(cType, method, ...) |
| |
| #define | GBL_VCALL_DEFAULT(cType, method, ...) |
| |
| GblBool | GblInstance_check (const GblInstance *pSelf, GblType toType) |
| |
| GblInstance * | GblInstance_cast (GblInstance *pSelf, GblType toType) |
| |
| GblInstance * | GblInstance_as (GblInstance *pSelf, GblType toType) |
| |
| void * | GblInstance_private (const GblInstance *pSelf, GblType base) |
| |
| GblInstance * | GblInstance_public (const void *pPriv, GblType base) |
| |
| GblType | GblInstance_typeOf (const GblInstance *pSelf) |
| |
| size_t | GblInstance_size (const GblInstance *pSelf) |
| |
| size_t | GblInstance_privateSize (const GblInstance *pSelf) |
| |
| size_t | GblInstance_totalSize (const GblInstance *pSelf) |
| |
| GblClass * | GblInstance_class (const GblInstance *pSelf) |
| |
| GBL_RESULT | GblInstance_swizzleClass (GblInstance *pSelf, GblClass *pClass) |
| |
| GBL_RESULT | GblInstance_sinkClass (GblInstance *pSelf) |
| |
| GBL_RESULT | GblInstance_floatClass (GblInstance *pSelf) |
| |
Minimally bindable GblInstance with reference semantics and opaque userdata.
A GblBox is a GblInstance-derived type which simply adds the bare minimal set of functionality that is typically required for language bindings and interop. This includes:
- destructors
- reference counting semantics
- a dictionary for storing arbitrary associated userdata
- interop with GblVariant types
- arbitrary flag bits
- Note
- A GblBox is 12 or 20 bytes total (32 or 64 bit respectively).
- See also
- GblBoxClass