65 #ifndef XSSTRINGSTREAMING_H
66 #define XSSTRINGSTREAMING_H
78 template<
typename _CharT,
typename _Traits>
79 basic_ostream<_CharT, _Traits>&
operator<<(basic_ostream<_CharT, _Traits>& o,
XsVector const& xv)
81 o <<
"V<" << xv.size() <<
">(";
82 for (
XsSize i = 0; i < xv.size() - 1; i++)
84 return (o << xv[xv.size() - 1] <<
")");
87 template<
typename _CharT,
typename _Traits>
88 basic_ostream<_CharT, _Traits>&
operator<<(basic_ostream<_CharT, _Traits>& o,
XsMatrix const& xm)
90 o <<
"M<" << xm.rows() <<
"," << xm.cols() <<
">(";
91 for (
XsSize r = 0; r < xm.rows(); ++r)
93 for (
XsSize c = 0; c < xm.cols() - 1; ++c)
94 o << xm[r][c] <<
", ";
95 o << xm[r][xm.cols() - 1];
96 if (r < xm.rows() - 1)
103 template<
typename _CharT,
typename _Traits>
107 for (
int i = 0; i < 3; i++)
109 return (o << xq[3] <<
")");
117 sprintf(buffer,
"%" PRINTF_SIZET_MODIFIER
"u", v);
125 sprintf(buffer,
"%g", v);
132 o <<
"V<" << xv.size() <<
">(";
133 for (
XsSize i = 0; i < xv.size() - 1; i++)
135 return (o << xv[xv.size() - 1] <<
")");
140 o <<
"M<" << xm.rows() <<
"," << xm.cols() <<
">(";
141 for (
XsSize r = 0; r < xm.rows(); ++r)
147 for (
XsSize c = 0; c < xm.cols() - 1; ++c)
148 o << xm[r][c] <<
", ";
149 o << xm[r][xm.cols() - 1];
150 if (r < xm.rows() - 1)
161 for (
int i = 0; i < 3; i++)
163 return (o << xq[3] <<
")");