#pragma once #include "DataType.h" #include namespace Databoard { namespace Type { class DATABOARD_API Component; class DATABOARD_API RecordType : public DataType { public: RecordType(); RecordType(bool referable, std::vector components); virtual ~RecordType(); bool isReferable(); void addComponent(std::string name, DataType* type); int getComponentIndex(std::string fieldName); Component* getComponent(std::string fieldName); int count(); Component* getComponent(int i); std::vector getComponents(); virtual std::string writeOut(int indent = 0); protected: bool referable; std::vector components; }; } }