39class ProvidesAttributes
42 const std::vector<ElementInfoAttribute>& getAttributes()
const {
return attributes_; }
44 void toString(std::ostream& os)
const;
46 template <
class XMLNode>
47 void outputXML(XMLNode* node)
const
54 auto* XMLAttributeElement =
new XMLNode(
"Attribute");
55 XMLAttributeElement->SetAttribute(
"Index", idx);
56 XMLAttributeElement->SetAttribute(
"Name", attribute.name);
57 XMLAttributeElement->SetAttribute(
"Value", attribute.value ? attribute.value :
"none");
58 node->LinkEndChild(XMLAttributeElement);
65 explicit ProvidesAttributes(T* UNUSED(t)) :
66 attributes_(GetAttributes<T>::get())
70 std::vector<ElementInfoAttribute> attributes_;