|
Boost Users : |
From: zhengyi (goodmen_at_[hidden])
Date: 2004-12-22 11:23:45
Dear Robert Ramey,
I'm SO sorry to bother you again!
When I compile Boost::Serialization(version 1.32.0) using msvc71+stlport4.6.2,
I fond compile error in the file "xml_escape.hpp" line 47.
I followed the way compile shown , and find the cause is in file
"xml_woarchive_impl.ipp" line 108 .
I think it is more reasonable to alter the function like this :
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
#ifndef BOOST_NO_STD_WSTRING
template<class Archive>
void xml_woarchive_impl<Archive>::save(const std::wstring & ws){
typedef iterators::xml_escape<std::wstring::const_iterator> xmbtows;
// This is changed by zhengyi !! otherwise ,using stlport can not
// compile successfully
std::copy(
xmbtows(BOOST_MAKE_PFTO_WRAPPER(ws.begin()/*ws.data()*/)),
xmbtows(BOOST_MAKE_PFTO_WRAPPER(ws.end()/*ws.data() + ws.size()*/)),
boost::archive::iterators::ostream_iterator<wchar_t>(os)
);
}
#endif //BOOST_NO_STD_WSTRING
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
When I using above code instead yours, the compiler seems happy.
and when i switch to ms stl ,that's ok.
The original code of yours can pass when using ms-stl , but will fail with stlport.
Can you explain that ?
Do you think the modified code is right ?
How Can I build successfully without alter your code(I like stlport and do
not want to define macro BOOST_NO_STD_WSTRING to avoid compile error ) ?
Thanks for your patience to read this letter!
Merry Christmas!! (two days early ^_^)
goodmen_at_[hidden]
2004-12-22
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net