42 return (v1.name == v2.name && v1.value == v2.value);
59 void addParameter(
const String& name,
const String& value)
65 m_parameters_dictionary.
add(name, value);
66 m_parameters_list.add({ name, value });
68 void setParameter(
const String& name,
const String& value)
74 if (name.startsWith(
"//")) {
75 ARCCORE_FATAL(
"Set parameter not supported for ParameterOptions.");
78 m_parameters_dictionary.add(name, value);
81 auto comparer = [=](
const NameValuePair& nv) {
return nv.name == name; };
82 auto new_end = std::remove_if(m_parameters_list.begin(), m_parameters_list.end(), comparer);
83 m_parameters_list.resize(new_end - m_parameters_list.begin());
85 void removeParameter(
const String& name,
const String& value)
90 if (name.startsWith(
"//")) {
91 ARCCORE_FATAL(
"Remove parameter not supported for ParameterOptions.");
97 String x = m_parameters_dictionary.find(name);
98 bool need_fill =
false;
100 m_parameters_dictionary.remove(name);
106 auto new_end = std::remove(m_parameters_list.begin(), m_parameters_list.end(), ref_value);
107 m_parameters_list.resize(new_end - m_parameters_list.begin());
109 _fillDictionaryWithValueInList(name);
113 m_parameters_dictionary.fill(param_names, values);
118 void _fillDictionaryWithValueInList(
const String& name)
120 for (
auto& nv : m_parameters_list)
122 m_parameters_dictionary.add(nv.name, nv.value);
127 StringDictionary m_parameters_dictionary;
128 UniqueArray<NameValuePair> m_parameters_list;