diff --git a/dumux/common/parameters.hh b/dumux/common/parameters.hh index 6f046bd67baf760ee3a0373a1df47e2b20ec38d7..597e724d4f14487048ccc7f10671e61403e5b0c0 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)