ostream width, align and fill added

This commit is contained in:
Mateusz Pusz
2020-03-19 09:23:27 +01:00
parent 19398f4b78
commit c33f6f2d59
3 changed files with 185 additions and 138 deletions
@@ -26,6 +26,7 @@
#include <units/bits/external/text_tools.h>
#include <units/prefix.h>
#include <units/derived_dimension.h>
#include <sstream>
namespace units::detail {
@@ -161,4 +162,16 @@ constexpr auto unit_text()
}
}
template<typename CharT, class Traits, Quantity Q>
std::basic_string<CharT> to_string(const Q& q)
{
std::basic_ostringstream<CharT, Traits> s;
s << q.count();
constexpr auto symbol = unit_text<typename Q::dimension, typename Q::unit>();
if constexpr (symbol.size()) {
s << " " << symbol;
}
return s.str();
}
} // namespace units::detail