From: Arnaud Giersch Date: Thu, 19 Apr 2018 11:52:47 +0000 (+0200) Subject: Define simgrid::xbt::set_default<>. X-Git-Tag: v3.20~371 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/a8760c75c04d098c2c100f94be5b99ceb83b0c17?ds=sidebyside Define simgrid::xbt::set_default<>. --- diff --git a/include/xbt/config.hpp b/include/xbt/config.hpp index 704c60fbe4..202bb4ab17 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 default + +template XBT_PUBLIC void set_default(const char* name, T value); + +extern template XBT_PUBLIC void set_default(const char* name, int value); +extern template XBT_PUBLIC void set_default(const char* name, double value); +extern template XBT_PUBLIC void set_default(const char* name, bool value); +extern template XBT_PUBLIC void set_default(const char* name, std::string value); + // Set config template XBT_PUBLIC void set_value(const char* name, T value); diff --git a/src/xbt/config.cpp b/src/xbt/config.cpp index e61832d14d..3f5be9aabe 100644 --- a/src/xbt/config.cpp +++ b/src/xbt/config.cpp @@ -366,6 +366,18 @@ void Config::help() } } +// ***** set_default ***** + +template XBT_PUBLIC void set_default(const char* name, T value) +{ + (*simgrid_config)[name].set_default_value(std::move(value)); +} + +template XBT_PUBLIC void set_default(const char* name, int value); +template XBT_PUBLIC void set_default(const char* name, double value); +template XBT_PUBLIC void set_default(const char* name, bool value); +template XBT_PUBLIC void set_default(const char* name, std::string value); + // ***** set_value ***** template XBT_PUBLIC void set_value(const char* name, T value)