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