TypedConfigurationElement<T>* variable = new TypedConfigurationElement<T>(name, std::forward<A>(a)...);
XBT_DEBUG("Register cfg elm %s (%s) of type %s @%p in set %p)", name.c_str(), variable->get_description().c_str(),
variable->get_type_name(), variable, this);
- options.emplace(name, std::unique_ptr<ConfigurationElement>(variable));
+ options[name].reset(variable);
variable->update();
return variable;
}
XBT_INFO("Option %s has been renamed to %s. Consider switching.", name.c_str(), res->get_key().c_str());
return res;
} else {
- THROWF(not_found_error, 0, "Bad config key: %s", name.c_str());
+ throw std::out_of_range("Bad config key: " + name);
}
}
}
* @param value the value of the variable
*/
void xbt_cfg_set_int(const char *key, int value)
+{
+ sg_cfg_set_int(key, value);
+}
+
+void sg_cfg_set_int(const char* key, int value)
{
(*simgrid_config)[key].set_value<int>(value);
}
* @param value the double to set
*/
void xbt_cfg_set_double(const char *key, double value)
+{
+ sg_cfg_set_double(key, value);
+}
+
+void sg_cfg_set_double(const char* key, double value)
{
(*simgrid_config)[key].set_value<double>(value);
}
*
*/
void xbt_cfg_set_string(const char* key, const char* value)
+{
+ sg_cfg_set_string(key, value);
+}
+
+void sg_cfg_set_string(const char* key, const char* value)
{
(*simgrid_config)[key].set_value<std::string>(value);
}
* @param value the value of the variable
*/
void xbt_cfg_set_boolean(const char *key, const char *value)
+{
+ sg_cfg_set_boolean(key, value);
+}
+
+void sg_cfg_set_boolean(const char* key, const char* value)
{
(*simgrid_config)[key].set_value<bool>(simgrid::config::parse_bool(value));
}
* Returns the first value from the config set under the given name.
*/
int xbt_cfg_get_int(const char *key)
+{
+ return sg_cfg_get_int(key);
+}
+
+int sg_cfg_get_int(const char* key)
{
return (*simgrid_config)[key].get_value<int>();
}
* Returns the first value from the config set under the given name.
*/
double xbt_cfg_get_double(const char *key)
+{
+ return sg_cfg_get_double(key);
+}
+
+double sg_cfg_get_double(const char* key)
{
return (*simgrid_config)[key].get_value<double>();
}
* If there is more than one value, it will issue a warning.
*/
int xbt_cfg_get_boolean(const char *key)
+{
+ return sg_cfg_get_boolean(key);
+}
+
+int sg_cfg_get_boolean(const char* key)
{
return (*simgrid_config)[key].get_value<bool>() ? 1 : 0;
}