From 319365f86bb9e1dc1e19c2cd85502c11c7227a49 Mon Sep 17 00:00:00 2001 From: ToruNiina Date: Sun, 2 Jun 2019 21:50:27 +0900 Subject: [PATCH] feat: update types in format_error --- toml/value.hpp | 73 ++++++++++++++++++++++++++------------------------ 1 file changed, 38 insertions(+), 35 deletions(-) diff --git a/toml/value.hpp b/toml/value.hpp index 864dffd..bdb734f 100644 --- a/toml/value.hpp +++ b/toml/value.hpp @@ -1185,41 +1185,44 @@ inline bool operator>=(const basic_value& lhs, const basic_value hints = {}) -// { -// return detail::format_underline(err_msg, -// std::vector>{ -// {std::addressof(detail::get_region(v)), comment} -// }, std::move(hints)); -// } -// -// inline std::string format_error(const std::string& err_msg, -// const toml::basic_value& v1, const std::string& comment1, -// const toml::basic_value& v2, const std::string& comment2, -// std::vector hints = {}) -// { -// return detail::format_underline(err_msg, -// std::vector>{ -// {std::addressof(detail::get_region(v1)), comment1}, -// {std::addressof(detail::get_region(v2)), comment2} -// }, std::move(hints)); -// } -// -// inline std::string format_error(const std::string& err_msg, -// const toml::basic_value& v1, const std::string& comment1, -// const toml::basic_value& v2, const std::string& comment2, -// const toml::basic_value& v3, const std::string& comment3, -// std::vector hints = {}) -// { -// return detail::format_underline(err_msg, -// std::vector>{ -// {std::addressof(detail::get_region(v1)), comment1}, -// {std::addressof(detail::get_region(v2)), comment2}, -// {std::addressof(detail::get_region(v3)), comment3} -// }, std::move(hints)); -// } +template class T, template class A> +inline std::string format_error(const std::string& err_msg, + const basic_value& v, const std::string& comment, + std::vector hints = {}) +{ + return detail::format_underline(err_msg, + std::vector>{ + {std::addressof(detail::get_region(v)), comment} + }, std::move(hints)); +} + +template class T, template class A> +inline std::string format_error(const std::string& err_msg, + const toml::basic_value& v1, const std::string& comment1, + const toml::basic_value& v2, const std::string& comment2, + std::vector hints = {}) +{ + return detail::format_underline(err_msg, + std::vector>{ + {std::addressof(detail::get_region(v1)), comment1}, + {std::addressof(detail::get_region(v2)), comment2} + }, std::move(hints)); +} + +template class T, template class A> +inline std::string format_error(const std::string& err_msg, + const toml::basic_value& v1, const std::string& comment1, + const toml::basic_value& v2, const std::string& comment2, + const toml::basic_value& v3, const std::string& comment3, + std::vector hints = {}) +{ + return detail::format_underline(err_msg, + std::vector>{ + {std::addressof(detail::get_region(v1)), comment1}, + {std::addressof(detail::get_region(v2)), comment2}, + {std::addressof(detail::get_region(v3)), comment3} + }, std::move(hints)); +} template class T, template class A>