Boost logo

Boost :

From: Robert Ramey (ramey_at_[hidden])
Date: 2004-04-18 11:00:47

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.

> That leaves me with the following two errors in compiling
> text_oarchive.cpp... I am not sure what to do about these two errors,
> but I am too tired to stare at them right now, so I am posting them here
> in hope that someone can make sense out of them... the second error in
> particular makes no sense to me at all.


My formatting:

> Error : illegal explicit conversion from

> 'boost::iterator_facade<
> boost::archive::iterators::insert_linebreaks<
> boost::archive::iterators::base64_from_binary<
> boost::archive::iterators::transform_width<
> const char *, 6, 8, char
> >,
> Char
> >,
> 72,
> Char
> >,
> char,
> boost::single_pass_traversal_tag,
> char,
> char
> >'

> to 'const char *'

I recently cleaned up and streamlined the implementation of the "dataflow
iterators" in my local copy. I don't know if this will make the above
disappear. I sort of doubt it. I'm suspicious of the transition from char
to const char. I'll look at this.

> 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

            0 != (flags & no_codecvt)
At around line 63 in file text_oarchive.hpp to

            static_cast<bool>(0 != (flags & no_codecvt))

Robert Ramey

Boost list run by bdawes at, gregod at, cpdaniel at, john at