
In article <20040418160047.656883147E@acme.west.net>, "Robert Ramey" <ramey@rrsd.com> wrote:
Miro Jurisic wrote:
I am trying to play with Serialization #18 on CodeWarrior 9, and I ran into the following problems:
mbstate_t is not in the global namespace when using CW9 and MW STL (I didn't test with gcc STL). This caused compile errors in archive/codecvt_null.hpp. I altered the workaround already present for Borland, but I believe this is the wrong answer, because it puts a using declaration in a header file.
We're open to suggestions.
namespace detail { #if BOOST_WORKAROUND... typedef ::mbstate_t mbstate_t; #else typedef std::mbstate_t mbstate_t; #endif } and then use detail::mbstate_t inside the affected boost header files. This will make the boost files compatible with each other, and users of those headers will be able to use whichever one of ::mbstate_t or std::mbstate_t their compiler provides.
Error : object 'boost::archive::text_oarchive_impl<boost::archive::text_oarchive> ::text_oarchive_impl `base constructor'(std::basic_ostream<char, std::char_traits<char>> &, unsigned int)' redefined
This looks like a compiler issue in getting bool/int confused. Try Changing
basic_text_oprimitive<std::ostream>( os, 0 != (flags & no_codecvt) ) At around line 63 in file text_oarchive.hpp to
basic_text_oprimitive<std::ostream>( os, static_cast<bool>(0 != (flags & no_codecvt)) )
That wasn't it. (And I am not sure what it is, as the error looks entirely bogus) meeroh -- If this message helped you, consider buying an item from my wish list: <http://web.meeroh.org/wishlist>