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