diff --git a/libs/geom/include/psemek/geom/matrix.hpp b/libs/geom/include/psemek/geom/matrix.hpp index 3875e773..be15fd75 100644 --- a/libs/geom/include/psemek/geom/matrix.hpp +++ b/libs/geom/include/psemek/geom/matrix.hpp @@ -5,6 +5,7 @@ #include #include +#include #include namespace psemek::geom @@ -375,4 +376,23 @@ namespace psemek::geom return os; } + template + struct setw + { + matrix const & m; + int w; + }; + + template + std::ostream & operator << (std::ostream & os, setw const & w) + { + for (std::size_t i = 0; i < R; ++i) + { + for (std::size_t j = 0; j < C; ++j) + os << std::fixed << std::right << std::setw(w.w) << w.m[i][j] << ' '; + os << '\n'; + } + return os; + } + }