41class ProvidesAttributes
44 const std::vector<ElementInfoAttribute>& getAttributes()
const {
return attributes_; }
46 void toString(std::ostream& os)
const;
48 template <
class XMLNode>
49 void outputXML(XMLNode* node)
const
56 auto* XMLAttributeElement =
new XMLNode(
"Attribute");
57 XMLAttributeElement->SetAttribute(
"Index", idx);
58 XMLAttributeElement->SetAttribute(
"Name", attribute.name);
59 XMLAttributeElement->SetAttribute(
"Value", attribute.value ? attribute.value :
"none");
60 node->LinkEndChild(XMLAttributeElement);
67 explicit ProvidesAttributes(T* UNUSED(t)) :
68 attributes_(GetAttributes<T>::get())
72 std::vector<ElementInfoAttribute> attributes_;