#ifndef STL2STRING_H #define STL2STRING_H #include "STLXMLParser.h" namespace markup { template class CSTL2String { public: static void ToString(const std::vector& v, std::string& str); static void ToString(const std::valarray& v, std::string& str); static void ToString(const std::list& v, std::string& str); static void ToSTL(LPCTSTR str, std::vector& v); static void ToSTL(LPCTSTR str, std::valarray& v); static void ToSTL(LPCTSTR str, std::list& v); static void ByteToSTL(LPCTSTR str, std::vector& v); static void ByteToSTL(LPCTSTR str, std::valarray& v); static void ByteToSTL(LPCTSTR str, std::list& v); }; template void CSTL2String::ByteToSTL(LPCTSTR str, std::vector& v) { std::_tstring stdString=str; std::_tistringstream in(stdString); std::list lVi; BYTE vi; short s; // reading data... while ( !in.eof() && in.good() ) { in>>s; vi=(BYTE)s; if (in.good()) lVi.push_back(vi); } // ouputting to vector v.resize(lVi.size()); for (UINT i =0;i void CSTL2String::ByteToSTL(LPCTSTR str, std::valarray& v) { std::_tstring stdString=str; std::_tistringstream in(stdString); std::list lVi; BYTE vi; short s; // reading data... while ( !in.eof() && in.good() ) { in>>s; vi=(BYTE)s; if (in.good()) lVi.push_back(vi); } // ouputting to vector v.resize(lVi.size()); for (UINT i =0;i void CSTL2String::ByteToSTL(LPCTSTR str, std::list& _l) { std::_tstring stdString=str; std::_tistringstream in(stdString); BYTE vi; short s; _l.clear(); // reading data... while ( !in.eof() && in.good() ) { in>>s; vi=(BYTE)s; if (in.good()) _l.push_back(vi); } }; template void CSTL2String::ToSTL(LPCTSTR str, std::vector& v) { std::_tstring stdString=str; std::_tistringstream in(stdString); std::list lVi; T vi; // reading data... while ( !in.eof() && in.good() ) { in>>vi; if (in.good()) lVi.push_back(vi); } // ouputting to vector v.resize(lVi.size()); for (UINT i =0;i void CSTL2String::ToSTL(LPCTSTR str, std::valarray& v) { std::_tstring stdString=str; std::_tistringstream in(stdString); std::list lVi; T vi; // reading data... while ( !in.eof() && in.good() ) { in>>vi; if (in.good()) lVi.push_back(vi); } // ouputting to vector v.resize(lVi.size()); for (UINT i =0;i void CSTL2String::ToSTL(LPCTSTR str, std::list& _l) { std::_tstring stdString=str; std::_tistringstream in(stdString); T vi; _l.clear(); // reading data... while ( !in.eof() && in.good() ) { in>>vi; if (in.good()) _l.push_back(vi); } }; template void CSTL2String::ToString(const std::valarray& v, std::string& str) { std::_tostringstream out; for (UINT i = 0;i void CSTL2String::ToString(const std::vector& v, std::string& str) { std::_tostringstream out; for (UINT i = 0;i void CSTL2String::ToString(const std::list& _l, std::string& str) { std::_tostringstream out; int j; std::list::const_iterator i; for (i = _l.begin(),j=0;i!=_l.end();i++,j++) { out<<*i<<_T(" "); if ((j+1)%100==0) out<