41 return (v1.name==v2.name && v1.value==v2.value);
57 void addParameter(
const String& name,
const String& value)
63 m_parameters_dictionary.
add(name, value);
64 m_parameters_list.add({ name, value });
66 void setParameter(
const String& name,
const String& value)
72 if (name.startsWith(
"//")) {
73 ARCCORE_FATAL(
"Set parameter not supported for ParameterOptions.");
76 m_parameters_dictionary.add(name,value);
79 auto comparer = [=](
const NameValuePair& nv){
return nv.name==name; };
80 auto new_end = std::remove_if(m_parameters_list.begin(),m_parameters_list.end(),comparer);
81 m_parameters_list.resize(new_end-m_parameters_list.begin());
83 void removeParameter(
const String& name,
const String& value)
88 if (name.startsWith(
"//")) {
89 ARCCORE_FATAL(
"Remove parameter not supported for ParameterOptions.");
95 String x = m_parameters_dictionary.find(name);
96 bool need_fill =
false;
98 m_parameters_dictionary.remove(name);
104 auto new_end = std::remove(m_parameters_list.begin(),m_parameters_list.end(),ref_value);
105 m_parameters_list.resize(new_end-m_parameters_list.begin());
107 _fillDictionaryWithValueInList(name);
111 m_parameters_dictionary.fill(param_names, values);
115 void _fillDictionaryWithValueInList(
const String& name)
117 for(
auto& nv : m_parameters_list )
119 m_parameters_dictionary.add(nv.name,nv.value);
122 StringDictionary m_parameters_dictionary;
123 UniqueArray<NameValuePair> m_parameters_list;