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