1 #include "UnionType.h"
\r
3 #include "Component.h"
\r
5 namespace Databoard {
\r
8 UnionType::UnionType()
\r
12 //UnionType::UnionType(std::vector<Component*> components)
\r
14 // for(int i = 0; i < (int)components.size(); ++i)
\r
16 // this->components.push_back(components.at(i));
\r
20 UnionType::~UnionType()
\r
22 for(int i = 0; i < (int)components.size(); ++i)
\r
24 delete components.at(i);
\r
25 components.at(i) = NULL;
\r
31 void UnionType::addComponent(std::string name, DataType* type)
\r
33 Component* component = new Component(name, type);
\r
35 components.push_back(component);
\r
38 int UnionType::count()
\r
40 return (int)components.size();
\r
43 int UnionType::getComponentIndex(std::string tagName)
\r
45 for(int i = 0;i < (int)components.size(); ++i)
\r
47 if(components.at(i)->getName() == tagName)
\r
56 Component* UnionType::getComponent(int i)
\r
58 if(i >= 0 && i < (int)components.size())
\r
60 return components.at(i);
\r
66 //std::vector<Component*> UnionType::getComponents()
\r
70 std::string UnionType::writeOut(int /*indent*/)
\r
74 for(int i = 0; i < (int)components.size(); ++i)
\r
78 s += components.at(i)->getName();
\r
80 if(i != ((int)components.size()-1))
\r