Fix character types in math primitive formatters

This commit is contained in:
Nikita Lisitsa 2026-06-07 18:48:01 +03:00
parent 3a22c74ce5
commit 03af0a7099
5 changed files with 16 additions and 16 deletions

View file

@ -354,9 +354,9 @@ namespace std
template <typename T, std::size_t N, typename Char> template <typename T, std::size_t N, typename Char>
struct formatter<::psemek::math::box<T, N>, Char> struct formatter<::psemek::math::box<T, N>, Char>
: formatter<::psemek::math::interval<T>> : formatter<::psemek::math::interval<T>, Char>
{ {
using formatter<::psemek::math::interval<T>>::parse; using formatter<::psemek::math::interval<T>, Char>::parse;
template <typename FormatContext> template <typename FormatContext>
auto format(::psemek::math::box<T, N> const & b, FormatContext & ctx) const auto format(::psemek::math::box<T, N> const & b, FormatContext & ctx) const
@ -364,7 +364,7 @@ namespace std
for (std::size_t i = 0; i < b.dimension(); ++i) for (std::size_t i = 0; i < b.dimension(); ++i)
{ {
if (i > 0) ctx.advance_to(std::format_to(ctx.out(), "x")); if (i > 0) ctx.advance_to(std::format_to(ctx.out(), "x"));
ctx.advance_to(formatter<::psemek::math::interval<T>>::format(b[i], ctx)); ctx.advance_to(formatter<::psemek::math::interval<T>, Char>::format(b[i], ctx));
} }
return ctx.out(); return ctx.out();
} }

View file

@ -341,17 +341,17 @@ namespace std
template <typename T, typename Char> template <typename T, typename Char>
struct formatter<::psemek::math::interval<T>, Char> struct formatter<::psemek::math::interval<T>, Char>
: formatter<T> : formatter<T, Char>
{ {
using formatter<T>::parse; using formatter<T, Char>::parse;
template <typename FormatContext> template <typename FormatContext>
auto format(::psemek::math::interval<T> const & i, FormatContext & ctx) const auto format(::psemek::math::interval<T> const & i, FormatContext & ctx) const
{ {
ctx.advance_to(std::format_to(ctx.out(), "[")); ctx.advance_to(std::format_to(ctx.out(), "["));
ctx.advance_to(formatter<T>::format(i.min, ctx)); ctx.advance_to(formatter<T, Char>::format(i.min, ctx));
ctx.advance_to(std::format_to(ctx.out(), " .. ")); ctx.advance_to(std::format_to(ctx.out(), " .. "));
ctx.advance_to(formatter<T>::format(i.max, ctx)); ctx.advance_to(formatter<T, Char>::format(i.max, ctx));
return std::format_to(ctx.out(), "]"); return std::format_to(ctx.out(), "]");
} }
}; };

View file

@ -553,9 +553,9 @@ namespace std
template <typename T, std::size_t R, std::size_t C, typename Char> template <typename T, std::size_t R, std::size_t C, typename Char>
struct formatter<::psemek::math::matrix<T, R, C>, Char> struct formatter<::psemek::math::matrix<T, R, C>, Char>
: formatter<T> : formatter<T, Char>
{ {
using formatter<T>::parse; using formatter<T, Char>::parse;
template <typename FormatContext> template <typename FormatContext>
auto format(::psemek::math::matrix<T, R, C> const & m, FormatContext & ctx) const auto format(::psemek::math::matrix<T, R, C> const & m, FormatContext & ctx) const
@ -564,7 +564,7 @@ namespace std
{ {
for (std::size_t j = 0; j < m.columns(); ++j) for (std::size_t j = 0; j < m.columns(); ++j)
{ {
ctx.advance_to(formatter<T>::format(m[i][j], ctx)); ctx.advance_to(formatter<T, Char>::format(m[i][j], ctx));
ctx.advance_to(std::format_to(ctx.out(), " ")); ctx.advance_to(std::format_to(ctx.out(), " "));
} }
ctx.advance_to(std::format_to(ctx.out(), "\n")); ctx.advance_to(std::format_to(ctx.out(), "\n"));

View file

@ -308,9 +308,9 @@ namespace std
template <typename T, std::size_t N, typename Char> template <typename T, std::size_t N, typename Char>
struct formatter<::psemek::math::point<T, N>, Char> struct formatter<::psemek::math::point<T, N>, Char>
: formatter<T> : formatter<T, Char>
{ {
using formatter<T>::parse; using formatter<T, Char>::parse;
template <typename FormatContext> template <typename FormatContext>
auto format(::psemek::math::point<T, N> const & p, FormatContext & ctx) const auto format(::psemek::math::point<T, N> const & p, FormatContext & ctx) const
@ -325,7 +325,7 @@ namespace std
for (std::size_t i = 0; i < p.dimension(); ++i) for (std::size_t i = 0; i < p.dimension(); ++i)
{ {
if (i > 0) ctx.advance_to(std::format_to(ctx.out(), ", ")); if (i > 0) ctx.advance_to(std::format_to(ctx.out(), ", "));
ctx.advance_to(formatter<T>::format(p[i], ctx)); ctx.advance_to(formatter<T, Char>::format(p[i], ctx));
} }
return std::format_to(ctx.out(), ")"); return std::format_to(ctx.out(), ")");
} }

View file

@ -548,9 +548,9 @@ namespace std
template <typename T, std::size_t N, typename Char> template <typename T, std::size_t N, typename Char>
struct formatter<::psemek::math::vector<T, N>, Char> struct formatter<::psemek::math::vector<T, N>, Char>
: formatter<T> : formatter<T, Char>
{ {
using formatter<T>::parse; using formatter<T, Char>::parse;
template <typename FormatContext> template <typename FormatContext>
auto format(::psemek::math::vector<T, N> const & v, FormatContext & ctx) const auto format(::psemek::math::vector<T, N> const & v, FormatContext & ctx) const
@ -565,7 +565,7 @@ namespace std
for (std::size_t i = 0; i < v.dimension(); ++i) for (std::size_t i = 0; i < v.dimension(); ++i)
{ {
if (i > 0) ctx.advance_to(std::format_to(ctx.out(), ", ")); if (i > 0) ctx.advance_to(std::format_to(ctx.out(), ", "));
ctx.advance_to(formatter<T>::format(v[i], ctx)); ctx.advance_to(formatter<T, Char>::format(v[i], ctx));
} }
return std::format_to(ctx.out(), ")"); return std::format_to(ctx.out(), ")");
} }