diff --git a/fairmq/options/FairMQProgOptions.h b/fairmq/options/FairMQProgOptions.h index 833452e7..a0a1a868 100644 --- a/fairmq/options/FairMQProgOptions.h +++ b/fairmq/options/FairMQProgOptions.h @@ -17,10 +17,12 @@ #include #include +#include #include #include #include #include +#include #include namespace fair @@ -126,6 +128,20 @@ class FairMQProgOptions return val; } + std::map GetProperties(const std::string& q) + { + std::regex re(q); + std::map result; + + for (const auto& m : fVarMap) { + if (std::regex_search(m.first, re)) { + result.emplace(m.first, m.second.value()); + } + } + + return result; + } + // Given a key, convert the variable value to string std::string GetStringValue(const std::string& key);