//----------------------------------------------------------------------- String StringConverter::toString(const ColourValue& val) { StringStream stream; if (msUseLocale) stream.imbue(msLocale); stream << val.r << " " << val.g << " " << val.b << " " << val.a; return stream.str(); }
//----------------------------------------------------------------------- String StringConverter::toString(const Quaternion& val) { StringStream stream; if (msUseLocale) stream.imbue(msLocale); stream << val.w << " " << val.x << " " << val.y << " " << val.z; return stream.str(); }
//----------------------------------------------------------------------- String StringConverter::toString(const Vector4& val) { StringStream stream; if (msUseLocale) stream.imbue(msLocale); stream << val.x << " " << val.y << " " << val.z << " " << val.w; return stream.str(); }
//----------------------------------------------------------------------- String StringConverter::toString(int val, unsigned short width, char fill, std::ios::fmtflags flags) { StringStream stream; if (msUseLocale) stream.imbue(msLocale); stream.width(width); stream.fill(fill); if (flags) stream.setf(flags); stream << val; return stream.str(); }
//----------------------------------------------------------------------- String StringConverter::toString(const Matrix3& val) { StringStream stream; stream.imbue(msLocale); stream << val[0][0] << " " << val[0][1] << " " << val[0][2] << " " << val[1][0] << " " << val[1][1] << " " << val[1][2] << " " << val[2][0] << " " << val[2][1] << " " << val[2][2]; return stream.str(); }
void test_ops (const TempParams<T, CharT, Traits, Dist> ¶ms, int line, const char *input, T expect, bool is_eos, int state) { typedef std::istream_iterator<T, CharT, Traits, Dist> Iterator; typedef std::basic_stringstream<CharT, Traits> StringStream; fmtnam (params.names); StringStream strm; typedef std::istreambuf_iterator<CharT, Traits> StreambufIterator; typedef std::num_get<CharT, StreambufIterator> NumGet; if (false == std::has_facet<NumGet>(strm.getloc ())) { const std::locale loc (std::locale::classic (), new NumGet); strm.imbue (loc); } if (input && *input) strm << input; const Iterator eos; const Iterator it (strm); rw_assert (is_eos ^ (it != eos), 0, line, "line %d: %{$ITER}::operator() != %{$ITER}()", __LINE__); if (0 == (strm.rdstate () & (strm.badbit | strm.failbit))) { // operator*() is defined only for non-eos iterators // avoid calling it on a bad or failed stream too const T val = *it; rw_assert (val == expect, 0, line, "line %d: %{$ITER}::operator*() == %{@}, got %{@}", __LINE__, params.names.tfmt, expect, params.names.tfmt, val); } rw_assert (strm.rdstate () == state, 0, line, "line %d: %{$ITER}::operator*(), rdstate() == %{Is}, got %{Is}", __LINE__, state, strm.rdstate ()); }
//----------------------------------------------------------------------- String StringConverter::toString(const StringVector& val) { StringStream stream; if (msUseLocale) stream.imbue(msLocale); StringVector::const_iterator i, iend, ibegin; ibegin = val.begin(); iend = val.end(); for (i = ibegin; i != iend; ++i) { if (i != ibegin) stream << " "; stream << *i; } return stream.str(); }