diff --git a/src/ripple/basics/BasicConfig.h b/src/ripple/basics/BasicConfig.h index 3bf51f056..4789beac9 100644 --- a/src/ripple/basics/BasicConfig.h +++ b/src/ripple/basics/BasicConfig.h @@ -148,6 +148,17 @@ public: return boost::lexical_cast(iter->second); } + /// Returns a value if present, else another value. + template + T + value_or(std::string const& name, T const& other) const + { + auto const iter = cont().find(name); + if (iter == cont().end()) + return other; + return boost::lexical_cast(iter->second); + } + friend std::ostream& operator<< (std::ostream&, Section const& section);