#ifndef TOML11_GET #define TOML11_GET #include "value.hpp" #include "from_toml.hpp" namespace toml { template(), typename std::enable_if<(vT != toml::value_t::Unknown && vT != value_t::Empty), std::nullptr_t>::type = nullptr> inline T get(const toml::value& v) { return static_cast(v.cast()); } template(), typename std::enable_if<(vT == toml::value_t::Unknown) && (!toml::detail::is_map::value) && toml::detail::is_container::value, std::nullptr_t>::type = nullptr> T get(const toml::value& v) { if(v.type() != value_t::Array) throw type_error("from_toml: value type: " + stringize(v.type()) + std::string(" is not argument type: Array")); T tmp; from_toml(tmp, v); return tmp; } template(), typename std::enable_if<(vT == toml::value_t::Unknown) && toml::detail::is_map::value, std::nullptr_t>::type = nullptr> T get(const toml::value& v) { if(v.type() != value_t::Table) throw type_error("from_toml: value type: " + stringize(v.type()) + std::string(" is not argument type: Table")); T tmp; from_toml(tmp, v); return tmp; } } // toml #endif// TOML11_GET