Boost logo

Boost :

From: Miro Jurisic (macdev_at_[hidden])
Date: 2004-04-18 12:54:08


In article <20040418160047.656883147E_at_[hidden]>,
 "Robert Ramey" <ramey_at_[hidden]> 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>

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk