43 const std::vector<std::string>& getPortnames() {
return portnames; }
44 const std::vector<ElementInfoPort>& getValidPorts()
const {
return ports_; }
46 void toString(std::ostream& os)
const;
48 template <
class XMLNode>
49 void outputXML(XMLNode* node)
const
53 for (
auto& port : ports_ ) {
54 auto* XMLPortElement =
new XMLNode(
"Port");
55 XMLPortElement->SetAttribute(
"Index", idx);
56 XMLPortElement->SetAttribute(
"Name", port.name);
57 XMLPortElement->SetAttribute(
"Description", port.description ? port.description :
"none");
58 node->LinkEndChild(XMLPortElement);
65 explicit ProvidesPorts(T* UNUSED(t)) :
66 ports_(InfoPorts<T>::get())
74 std::vector<std::string> portnames;
75 std::vector<ElementInfoPort> ports_;