|
|
| 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.