From: Arnaud Giersch Date: Thu, 19 Apr 2018 11:34:15 +0000 (+0200) Subject: Define simgrid::xbt::set_value<>(). X-Git-Tag: v3.20~373 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/807bd388d45f157e3d45cc3cabda56dccff633d6 Define simgrid::xbt::set_value<>(). --- diff --git a/include/xbt/config.hpp b/include/xbt/config.hpp index eb0e3d6d9d..704c60fbe4 100644 --- a/include/xbt/config.hpp +++ b/include/xbt/config.hpp @@ -43,6 +43,15 @@ inline std::string to_string(std::string&& value) return std::move(value); } +// Set config + +template XBT_PUBLIC void set_value(const char* name, T value); + +extern template XBT_PUBLIC void set_value(const char* name, int value); +extern template XBT_PUBLIC void set_value(const char* name, double value); +extern template XBT_PUBLIC void set_value(const char* name, bool value); +extern template XBT_PUBLIC void set_value(const char* name, std::string value); + // Get config template XBT_PUBLIC T const& get_value(const char* name); diff --git a/src/xbt/config.cpp b/src/xbt/config.cpp index 19673d9449..e61832d14d 100644 --- a/src/xbt/config.cpp +++ b/src/xbt/config.cpp @@ -366,6 +366,18 @@ void Config::help() } } +// ***** set_value ***** + +template XBT_PUBLIC void set_value(const char* name, T value) +{ + (*simgrid_config)[name].set_value(std::move(value)); +} + +template XBT_PUBLIC void set_value(const char* name, int value); +template XBT_PUBLIC void set_value(const char* name, double value); +template XBT_PUBLIC void set_value(const char* name, bool value); +template XBT_PUBLIC void set_value(const char* name, std::string value); + // ***** get_value ***** template XBT_PUBLIC T const& get_value(const char* name)