41 const std::vector<std::string>& getPortnames() {
return portnames; }
42 const std::vector<ElementInfoPort>& getValidPorts()
const {
return ports_; }
44 void toString(std::ostream& os)
const;
46 template <
class XMLNode>
47 void outputXML(XMLNode* node)
const
51 for (
auto& port : ports_ ) {
52 auto* XMLPortElement =
new XMLNode(
"Port");
53 XMLPortElement->SetAttribute(
"Index", idx);
54 XMLPortElement->SetAttribute(
"Name", port.name);
55 XMLPortElement->SetAttribute(
"Description", port.description ? port.description :
"none");
56 node->LinkEndChild(XMLPortElement);
63 explicit ProvidesPorts(T* UNUSED(t)) :
64 ports_(InfoPorts<T>::get())
72 std::vector<std::string> portnames;
73 std::vector<ElementInfoPort> ports_;