diff --git a/dune/stuff/functions.hh b/dune/stuff/functions.hh index 3ff12d3b3404323231bb67a7a8d99478996a9bb8..0a0fe27fc23e5fe930f870e5f07f54a6be7edeec 100644 --- a/dune/stuff/functions.hh +++ b/dune/stuff/functions.hh @@ -234,6 +234,13 @@ public: << ":\n" << available_as_str()); } // ... create(...) + + static std::unique_ptr<InterfaceType> create(const Common::Configuration& cfg) + { + if (!cfg.has_key("type")) + DUNE_THROW(Exceptions::wrong_input_given, "Missing 'type' in given cfg (see below)!\n\n" << cfg); + return create(cfg.get<std::string>("type"), cfg); + } }; // class FunctionsProvider } // namespace Stuff