|
Public Types |
enum | { AmbigEither = 3,
AmbigId = 1,
AmbigName = 2
} |
Public Member Functions |
| DynObjType (const char *type, int type_id, int flags, int size, const void *_this=NULL, const void *_base_ptr=NULL, const char *header=NULL) |
| DynObjType (const char *type, const char *base, int type_id, int flags, int size, const void *_this=NULL, const void *_base_ptr=NULL, const char *header=NULL) |
void | Ctor (const char *type, const char *base, int type_id, int flags, int size, const void *_this, const void *_base_ptr, const char *header) |
bool | IsOk () |
bool | operator== (const char *type) const |
bool | operator== (void **vtbl) const |
bool | operator== (int type_id) const |
bool | IsA (int type_id, const char *pcaller_addr) const |
bool | CanBeA (int type_id, const void *pobj, const char *pcaller_addr) const |
bool | IsSideBase (const void *pvo) const |
bool | MatchesTypeName (const char *type) const |
bool | IsSameType (DynObjType *opdt) const |
bool | IsSameTypeAndCompatible (DynObjType *opdt) const |
bool | IsAmbigous (int amb_type=AmbigEither) const |
int | HasNestedSideBases () |
DynObjType * | GetOuterMost (const void *pobj, int *poff=NULL) const |
DoCompoundNode * | GetCompound (void **vtbl, int *poff=NULL) const |
DynObjType * | GetTypeAtOffset (int off) const |
DoTypeItem * | LookupTypeItem (char type) const |
DoTypeItem * | LookupTypeItemLinkFirst (char type) |
bool | AddTypeItem (DoTypeItem *pitem) |
DoTypeItem * | RemoveTypeItem (char type) |
void ** | GetKey () |
Public Attributes |
StructHeader | _sh |
const char * | _type |
int | _type_id |
short | _vtbl_size |
short | _size |
int | _flags |
DoBaseNode | _base |
void ** | _vtbl |
DoCompoundNode * | _compounds |
DoModuleNode * | _mod_fst |
const char * | _header |
DoTypeItem * | _pext |
Protected Member Functions |
bool | LinkAfter (DynObjType *after, bool is_name) |
void | LinkModule (DoModuleC *pmod) |
void | UnlinkModule (DoModuleC *pmod) |
DoModuleC * | GetOriginalModule () |
void * | GetObj (void *pself, const char *type, DynObjType **found_type=NULL, DynObjType *pdt_avoid=NULL) |
void * | GetObj (void *pself, int type_id, const char *pcaller, DynObjType **found_type=NULL, DynObjType *pdt_avoid=NULL) |
bool | CanBeAInternal (int type_id, const char *pcaller_addr) const |
bool | IsTypeForCaller (const char *pcaller_addr) const |
Friends |
class | DoRunTimeC |
class | SideBaseDecl |
void * | doGetObj (void *obj, const char *type, DynObjType *self_type, doCastAlgo algo, DynObjType **pdt_found) |
void * | doGetObj (void *obj, int type_id, DynObjType *self_type, doCastAlgo algo, DynObjType **pdt_found) |
void * | doGetObj (DynI *pdi, const char *type, doCastAlgo algo, DynObjType **pdt_found, bool internal_from_dyni) |
Internal representation of a type. This keeps all data representing the internals of a registered
. All data fields are generated by the source compiler, allowing for using the correct object offsets in the hos application.