diff --git a/src/include/units/bits/to_string.h b/src/include/units/bits/unit_text.h similarity index 94% rename from src/include/units/bits/to_string.h rename to src/include/units/bits/unit_text.h index 56185c53..f10ab0ff 100644 --- a/src/include/units/bits/to_string.h +++ b/src/include/units/bits/unit_text.h @@ -178,16 +178,4 @@ constexpr auto unit_text() } } -template -std::basic_string to_string(const Q& q) -{ - std::basic_ostringstream s; - s << q.count(); - constexpr auto symbol = unit_text(); - if constexpr (symbol.standard().size()) { - s << " " << symbol.standard(); - } - return s.str(); -} - } // namespace units::detail diff --git a/src/include/units/quantity.h b/src/include/units/quantity.h index 1e95d05b..57b84410 100644 --- a/src/include/units/quantity.h +++ b/src/include/units/quantity.h @@ -26,7 +26,7 @@ #include #include #include -#include +#include #include #include #include @@ -334,7 +334,12 @@ public: template friend std::basic_ostream& operator<<(std::basic_ostream& os, const quantity& q) { - return os << detail::to_string(q); + os << q.count(); + constexpr auto symbol = detail::unit_text(); + if constexpr (symbol.standard().size()) { + os << " " << symbol.standard(); + } + return os; } };