41 const std::vector<ElementInfoParam>& getValidParams()
const {
return params_; }
43 void toString(std::ostream& os)
const;
45 template <
class XMLNode>
46 void outputXML(XMLNode* node)
const
53 auto* XMLParameterElement =
new XMLNode(
"Parameter");
54 XMLParameterElement->SetAttribute(
"Index", idx);
55 XMLParameterElement->SetAttribute(
"Name", param.name);
56 XMLParameterElement->SetAttribute(
"Description", param.description ? param.description :
"none");
57 XMLParameterElement->SetAttribute(
"Default", param.defaultValue ? param.defaultValue :
"none");
58 node->LinkEndChild(XMLParameterElement);
63 const std::vector<std::string>& getParamNames()
const {
return allowedKeys; }
67 explicit ProvidesParams(T* UNUSED(t)) :
68 params_(GetParams<T>::get())
76 std::vector<std::string> allowedKeys;
77 std::vector<ElementInfoParam> params_;