|
| TypeStruct (const TypeStruct &op) |
| Construct from another TypeStruct.
|
|
| TypeStruct (const string &n) |
| Construct empty TypeStruct from a name.
|
|
vector< TypeField >::const_iterator | beginField (void) const |
| Beginning of fields.
|
|
vector< TypeField >::const_iterator | endField (void) const |
| End of fields.
|
|
const TypeField * | getField (int4 off, int4 sz, int4 *newoff) const |
| Get field based on offset. More...
|
|
virtual Datatype * | getSubType (uintb off, uintb *newoff) const |
| Recover component data-type one-level down. More...
|
|
virtual int4 | numDepend (void) const |
| Return number of component sub-types.
|
|
virtual Datatype * | getDepend (int4 index) const |
| Return the i-th component sub-type.
|
|
virtual int4 | compare (const Datatype &op, int4 level) const |
| Compare for functional equivalence. More...
|
|
virtual int4 | compareDependency (const Datatype &op) const |
| Compare for storage in tree structure. More...
|
|
virtual Datatype * | clone (void) const |
| Clone the data-type.
|
|
virtual void | saveXml (ostream &s) const |
| Serialize the data-type to XML. More...
|
|
| Datatype (const Datatype &op) |
| Construct the base data-type copying low-level properties of another.
|
|
| Datatype (int4 s, type_metatype m) |
| Construct the base data-type providing size and meta-type.
|
|
| Datatype (int4 s, type_metatype m, const string &n) |
| Construct the base data-type providing size, meta-type, and name.
|
|
virtual | ~Datatype (void) |
| Destructor.
|
|
bool | isCoreType (void) const |
| Is this a core data-type.
|
|
bool | isCharPrint (void) const |
| Does this print as a 'char'.
|
|
bool | isEnumType (void) const |
| Is this an enumerated type.
|
|
bool | isPowerOfTwo (void) const |
| Is this a flag-based enumeration.
|
|
bool | isASCII (void) const |
| Does this print as an ASCII 'char'.
|
|
bool | isUTF16 (void) const |
| Does this print as UTF16 'wchar'.
|
|
bool | isUTF32 (void) const |
| Does this print as UTF32 'wchar'.
|
|
uint4 | getInheritable (void) const |
| Get properties pointers inherit.
|
|
type_metatype | getMetatype (void) const |
| Get the type meta-type.
|
|
uint8 | getId (void) const |
| Get the type id.
|
|
int4 | getSize (void) const |
| Get the type size.
|
|
const string & | getName (void) const |
| Get the type name.
|
|
virtual void | printRaw (ostream &s) const |
| Print a description of the type to stream. More...
|
|
virtual void | printNameBase (ostream &s) const |
| Print name as short prefix.
|
|
int4 | typeOrder (const Datatype &op) const |
| Order this with -op- datatype.
|
|
int4 | typeOrderBool (const Datatype &op) const |
| Order this with -op-, treating bool data-type as special. More...
|
|
void | saveXmlBasic (ostream &s) const |
| Save basic data-type properties. More...
|
|
void | saveXmlRef (ostream &s) const |
| Write an XML reference of this to stream. More...
|
|
A composite Datatype object: A "structure" with component "fields".
Datatype * TypeStruct::getSubType |
( |
uintb |
off, |
|
|
uintb * |
newoff |
|
) |
| const |
|
virtual |
Recover component data-type one-level down.
Given an offset into this data-type, return the component data-type at that offset. Also, pass back a "renormalized" offset suitable for recursize getSubType() calls: i.e. if the original offset hits the exact start of the sub-type, 0 is passed back. If there is no valid component data-type at the offset, return NULL and pass back the original offset
- Parameters
-
off | is the offset into this data-type |
newoff | is a pointer to the passed-back offset |
- Returns
- a pointer to the component data-type or NULL
Reimplemented from Datatype.