|
ICG 2
Electric Boogaloo
|
Abstract base class for DataTypes. More...
#include <DataType.hpp>
Public Member Functions | |
| virtual | ~DataType () |
| virtual bool | validate (DataTypeInator *dataTypeInator)=0 |
| Verify that all of the types that are named by this DataType or subordinate DataTypes are resolvable to actual DataTypes in the TypeDictionary. More... | |
| virtual bool | isValid () const =0 |
| Determine whether this type has already been successfully validated. More... | |
| virtual size_t | getSize () const =0 |
| The size (in bytes) of an instance of the DataType. More... | |
| virtual std::string | getTypeSpecName () const =0 |
| Get the Type Spec Name object. More... | |
| virtual void * | createInstance (unsigned int n=1) const =0 |
| Create one or more instances of this type. More... | |
| virtual void | deleteInstance (void *address) const =0 |
| Delete this instance. More... | |
| virtual std::string | makeDeclaration (std::string declarator) const |
| virtual std::string | toString () const |
| virtual bool | accept (DataTypeVisitor *visitor) const =0 |
Abstract base class for DataTypes.
|
inlinevirtual |
|
pure virtual |
Implemented in StringDataType, SequenceDataType, PrimitiveDataType, PointerDataType, EnumDataType, CompositeDataType, and ArrayDataType.
|
pure virtual |
Create one or more instances of this type.
| n | number to create |
Implemented in StringDataType, SpecifiedPrimitiveDataType< T >, SequenceDataType, PointerDataType, EnumDataType, CompositeDataType, ArrayDataType, SpecifiedPrimitiveDataType< T >, and SpecifiedPrimitiveDataType< T >.
|
pure virtual |
Delete this instance.
| address | of instance to delete |
Implemented in StringDataType, SpecifiedPrimitiveDataType< T >, SequenceDataType, PointerDataType, EnumDataType, CompositeDataType, ArrayDataType, SpecifiedPrimitiveDataType< T >, and SpecifiedPrimitiveDataType< T >.
|
pure virtual |
The size (in bytes) of an instance of the DataType.
Implemented in StringDataType, SpecifiedPrimitiveDataType< T >, SequenceDataType, PointerDataType, EnumDataType, CompositeDataType, ArrayDataType, SpecifiedPrimitiveDataType< T >, and SpecifiedPrimitiveDataType< T >.
|
pure virtual |
Get the Type Spec Name object.
Implemented in StringDataType, SequenceDataType, PointerDataType, EnumDataType, CompositeDataType, ArrayDataType, SpecifiedPrimitiveDataType< T >, SpecifiedPrimitiveDataType< T >, SpecifiedPrimitiveDataType< T >, SpecifiedPrimitiveDataType< T >, SpecifiedPrimitiveDataType< T >, SpecifiedPrimitiveDataType< T >, SpecifiedPrimitiveDataType< T >, SpecifiedPrimitiveDataType< T >, SpecifiedPrimitiveDataType< T >, SpecifiedPrimitiveDataType< T >, SpecifiedPrimitiveDataType< T >, SpecifiedPrimitiveDataType< T >, SpecifiedPrimitiveDataType< T >, SpecifiedPrimitiveDataType< T >, and SpecifiedPrimitiveDataType< T >.
|
pure virtual |
Determine whether this type has already been successfully validated.
Implemented in StringDataType, SpecifiedPrimitiveDataType< T >, SequenceDataType, PointerDataType, EnumDataType, CompositeDataType, and ArrayDataType.
|
virtual |
Generate a declaration of this DataType.
| declarator | A declarator, which can be a 1) a variable name or an array declarator (both are direct-declarators) or 2) a pointer declarator ( not a direct-declarator ). |
Reimplemented in SequenceDataType, PointerDataType, and ArrayDataType.
|
virtual |
Generate a definition of this DataType.
Reimplemented in EnumDataType, and CompositeDataType.
|
pure virtual |
Verify that all of the types that are named by this DataType or subordinate DataTypes are resolvable to actual DataTypes in the TypeDictionary.
| dataTypeInator | - type resolver machine |
Implemented in StringDataType, SpecifiedPrimitiveDataType< T >, EnumDataType, SequenceDataType, PointerDataType, CompositeDataType, and ArrayDataType.