diff --git a/toml/get.hpp b/toml/get.hpp index 92184c3..03cf10e 100644 --- a/toml/get.hpp +++ b/toml/get.hpp @@ -416,8 +416,9 @@ T get(const basic_value& v) // for toml::table. template -enable_if_t::value, decltype( - ::toml::get(std::declval()))> +enable_if_t, + detail::is_basic_value>::value, + decltype(::toml::get(std::declval()))> find(Table& tab, const toml::key& ky, std::string tn = "unknown table") { if(tab.count(ky) == 0) @@ -428,8 +429,9 @@ find(Table& tab, const toml::key& ky, std::string tn = "unknown table") return ::toml::get(tab.at(ky)); } template -enable_if_t::value, decltype( - ::toml::get(std::declval()))> +enable_if_t, + detail::is_basic_value>::value, + decltype(::toml::get(std::declval()))> find(Table const& tab, const toml::key& ky, std::string tn = "unknown table") { if(tab.count(ky) == 0) @@ -440,8 +442,9 @@ find(Table const& tab, const toml::key& ky, std::string tn = "unknown table") return ::toml::get(tab.at(ky)); } template -enable_if_t::value, decltype( - ::toml::get(std::declval()))> +enable_if_t, + detail::is_basic_value>::value, + decltype(::toml::get(std::declval()))> find(typename std::remove_reference&& tab, const toml::key& ky, std::string tn = "unknown table") {