11 class DataType :
public std::enable_shared_from_this<DataType> {
75 virtual std::string
toString()
const;
Register and manage datatypes at runtime.
Definition: DataTypeInator.hpp:16
Abstract base class for a DataTypeVisitor.
Definition: DataTypeVisitor.hpp:20
Abstract base class for DataTypes.
Definition: DataType.hpp:11
virtual std::string toString() const
Definition: DataType.cpp:17
virtual bool accept(DataTypeVisitor *visitor) const =0
virtual void * createInstance(unsigned int n=1) const =0
Create one or more instances of this type.
virtual std::string makeDeclaration(std::string declarator) const
Definition: DataType.cpp:6
virtual size_t getSize() const =0
The size (in bytes) of an instance of the DataType.
virtual bool validate(DataTypeInator *dataTypeInator)=0
Verify that all of the types that are named by this DataType or subordinate DataTypes are resolvable ...
virtual void deleteInstance(void *address) const =0
Delete this instance.
virtual ~DataType()
Definition: DataType.hpp:15
virtual bool isValid() const =0
Determine whether this type has already been successfully validated.
virtual std::string getTypeSpecName() const =0
Get the Type Spec Name object.