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