--- /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 UnionType : public DataType {\r
+ public:\r
+ UnionType();\r
+ UnionType(std::vector<Component*> components);\r
+\r
+ virtual ~UnionType();\r
+\r
+ virtual std::string writeOut(int indent);\r
+\r
+ void addComponent(std::string name, DataType* type);\r
+ int count();\r
+ int getComponentIndex(std::string tagName);\r
+ Component* getComponent(int i);\r
+ std::vector<Component*> getComponents();\r
+\r
+\r
+\r
+ protected:\r
+\r
+ std::vector<Component*> components;\r
+\r
+ };\r
+ }\r
+}\r