decompiler  1.0.0
Public Member Functions | Protected Member Functions | Private Member Functions | Friends | List of all members
TypeUnicode Class Reference

The unicode data-type: i.e. wchar. More...

#include <type.hh>

Inheritance diagram for TypeUnicode:
TypeBase Datatype

Public Member Functions

 TypeUnicode (const string &nm, int4 sz, type_metatype m)
 Construct given name,size, meta-type.
 
virtual Datatypeclone (void) const
 Clone the data-type.
 
virtual void saveXml (ostream &s) const
 Serialize the data-type to XML. More...
 
- Public Member Functions inherited from TypeBase
 TypeBase (const TypeBase &op)
 Construct TypeBase copying properties from another data-type.
 
 TypeBase (int4 s, type_metatype m)
 Construct TypeBase from a size and meta-type.
 
 TypeBase (int4 s, type_metatype m, const string &n)
 Construct TypeBase from a size, meta-type, and name.
 
- Public Member Functions inherited from Datatype
 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 void printRaw (ostream &s) const
 Print a description of the type to stream. More...
 
virtual DatatypegetSubType (uintb off, uintb *newoff) const
 Recover component data-type one-level down. More...
 
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...
 
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...
 

Protected Member Functions

virtual void restoreXml (const Element *el, TypeFactory &typegrp)
 Restore data-type from XML. More...
 
- Protected Member Functions inherited from Datatype
void restoreXmlBasic (const Element *el)
 Recover basic data-type properties. More...
 

Private Member Functions

void setflags (void)
 Set unicode property flags. More...
 

Friends

class TypeFactory
 

Additional Inherited Members

- Protected Types inherited from Datatype
enum  {
  coretype = 1, chartype = 2, enumtype = 4, poweroftwo = 8,
  utf16 = 16, utf32 = 32
}
 Boolean properties of datatypes. More...
 
- Static Protected Member Functions inherited from Datatype
static uint8 hashName (const string &nm)
 Produce a data-type id by hashing the type name. More...
 
- Protected Attributes inherited from Datatype
int4 size
 Size (of variable holding a value of this type)
 
string name
 Name of type.
 
type_metatype metatype
 Meta-type - type disregarding size.
 
uint4 flags
 Boolean properties of the type.
 
uint8 id
 A unique id for the type (or 0 if an id is not assigned)
 

Detailed Description

The unicode data-type: i.e. wchar.

This supports encoding elements that are wider than 1-byte

Member Function Documentation

◆ restoreXml()

void TypeUnicode::restoreXml ( const Element el,
TypeFactory typegrp 
)
protectedvirtual

Restore data-type from XML.

Restore a Datatype object from an XML element

Parameters
elis the XML element
typegrpis the underlying TypeFactory that will hold the new object

Reimplemented from Datatype.

References Datatype::restoreXmlBasic(), and setflags().

Referenced by TypeFactory::restoreXmlTypeNoRef().

◆ saveXml()

void TypeUnicode::saveXml ( ostream &  s) const
virtual

Serialize the data-type to XML.

Write out a formal description of the data-type as an XML <type> tag. For composite data-types, the description goes down one level, describing the component types only by reference.

Parameters
sis the stream to write to

Reimplemented from Datatype.

References a_v_b(), and Datatype::saveXmlBasic().

◆ setflags()

void TypeUnicode::setflags ( void  )
private

Set unicode property flags.

Properties that specify which encoding this type uses are set based on the size of the data-type. I.e. select UTF8, UTF16, or UTF32

References Datatype::chartype, Datatype::flags, Datatype::size, Datatype::utf16, and Datatype::utf32.

Referenced by restoreXml(), and TypeUnicode().


The documentation for this class was generated from the following files: