typename std::enable_if< std::is_integral<DestType>::value, DestType >::type get_entry_as( Config const& config, std::string const& key, DestType const& dflt) { return safe_lexical_cast(config.get_entry(key, dflt), dflt); }
DestType get_entry_as(const Config& config, const std::string& key, const std::string& dflt) { return safe_lexical_cast(config.get_entry(key, dflt), safe_lexical_cast<DestType>(dflt)); }
typename boost::enable_if<boost::is_integral<DestType>, DestType>::type get_entry_as(const Config& config, const std::string& key, const DestType& dflt) { return safe_lexical_cast(config.get_entry(key, dflt), dflt); }
DestType get_entry_as( Config const& config, std::string const& key, std::string const& dflt) { return safe_lexical_cast(config.get_entry(key, dflt), safe_lexical_cast<DestType>(dflt)); }