20 typedef std::map<std::string, StructMember>
MemberMap;
29 void *(*allocator)(
int),
30 void (*deAllocator)(
void*) );
53 size_t getSize()
const override;
65 std::string
toString()
const override;
114 void* (*allocator)(int);
115 void (*deAllocator)(
void*);
Definition: CompositeDataType.hpp:16
~CompositeDataType()
Definition: CompositeDataType.cpp:24
std::vector< StructMember * > SortedMemberList
Definition: CompositeDataType.hpp:21
std::map< std::string, StructMember > MemberMap
Definition: CompositeDataType.hpp:20
size_t getSize() const override
Definition: CompositeDataType.cpp:61
virtual MemberMap & getMemberMap()=0
std::string getTypeSpecName() const override
Get the Type Spec Name object.
Definition: CompositeDataType.cpp:112
bool accept(DataTypeVisitor *visitor) const override
Definition: CompositeDataType.cpp:116
virtual const MemberMap & getMemberMap() const =0
Get the map of struct members in this object.
void deleteInstance(void *address) const override
Delete this instance.
Definition: CompositeDataType.cpp:86
bool validate(DataTypeInator *dataTypeInator) override
Verify that all of the types that are named by this DataType or subordinate DataTypes are resolvable ...
Definition: CompositeDataType.cpp:27
bool isValid() const override
Determine whether this type has already been successfully validated.
Definition: CompositeDataType.cpp:56
std::string toString() const override
Definition: CompositeDataType.cpp:100
CompositeDataType(std::string name, size_t sizeof_struct, void *(*allocator)(int), void(*deAllocator)(void *))
Definition: CompositeDataType.cpp:10
CompositeDataType(const CompositeDataType &original)=delete
void * createInstance(unsigned int num) const override
Create one or more instances of this type.
Definition: CompositeDataType.cpp:66
const SortedMemberList & getSortedMemberList() const
Get the Sorted Member List object.
Definition: CompositeDataType.cpp:124
bool hasMemberNamed(std::string name)
Look up whether this struct has a member with the given name.
Definition: CompositeDataType.cpp:120
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