From 3e2fa2ff4be64c54f625283389471b076dc0519e Mon Sep 17 00:00:00 2001 From: Timo Koch <timo.koch@iws.uni-stuttgart.de> Date: Fri, 27 Oct 2017 14:14:14 +0200 Subject: [PATCH] [params] Add free function to check for parameter existence --- dumux/common/parameters.hh | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/dumux/common/parameters.hh b/dumux/common/parameters.hh index 6f046bd67b..597e724d4f 100644 --- a/dumux/common/parameters.hh +++ b/dumux/common/parameters.hh @@ -400,6 +400,24 @@ T getParamFromGroup(Args&&... args) return p.template getFromGroup<T>(std::forward<Args>(args)... ); } +// a free function to check whether a key exists +bool haveParam(const std::string& param) +{ + const auto& p = Parameters::getTree(); + return p.hasKey(param); +} + +// a free function to check whether a key exists +template<typename... Args> +bool haveParamInGroup(const std::string& paramGroup, const std::string& param) +{ + const auto& p = Parameters::getTree(); + if (paramGroup == "") + return p.hasKey(param); + else + return p.hasKey(paramGroup + "." + param); +} + template<typename T, typename... Args> DUNE_DEPRECATED_MSG("Using preprocessor MACROS for getting parameters is deprecated on next. Please use the new getParam method.") T getParam_UsingDeprecatedMacro(Args&&... args) -- GitLab