diff --git a/libs/util/include/psemek/util/to_string.hpp b/libs/util/include/psemek/util/to_string.hpp index 2573d01f..103f05fc 100644 --- a/libs/util/include/psemek/util/to_string.hpp +++ b/libs/util/include/psemek/util/to_string.hpp @@ -19,25 +19,21 @@ namespace psemek::util return oss.str(); } + template > + struct to_string_impl + { + template + std::basic_string operator()(Args const & ... args) const + { + return detail::to_string(args...); + } + }; + } - template - std::string to_string(Args const & ... args) - { - return detail::to_string(args...); - } - - template - std::wstring to_wstring(Args const & ... args) - { - return detail::to_string(args...); - } - - template - std::u32string to_u32string(Args const & ... args) - { - return detail::to_string(args...); - } + constexpr detail::to_string_impl to_string; + constexpr detail::to_string_impl to_wstring; + constexpr detail::to_string_impl to_u32string; template T from_string(std::basic_string const & s)