Boost logo

Boost :

From: Rene Rivera (grafik.list_at_[hidden])
Date: 2004-07-17 15:58:05


Rene Rivera wrote:
> Robert Ramey wrote:
>
>> While your looking at CW, might you find the time to look a little bit
>> into
>> the serialization library build problems. The error message is pretty
>> bizarre so I don't think it can be addressed without having CW
>> installed on
>> ones machine.
>
> OK, I'll try... Should I look for anything in specific? Or is it a
> general health issue?

I'm looking at this and one of the basic problems is that you seem to
assume a variety of things are available in the global namespace,
specifically size_t and other std types. Those are easy to fix by
specifying std::size_t. But I do have some questions...

1. Is using an unqualified size_t your intention? And therefore
something else is broken?

2. There is a similar problem with mbstate_t, but in this case you
attempt to do something special to handle it (from
boost/archive/codecvt_null.hpp):

#if BOOST_WORKAROUND(__BORLANDC__, <= 0x564)
     #ifndef _RWSTD_NO_NAMESPACE
     using std::codecvt;
     using std::min;
     #ifdef _RWSTD_NO_MBSTATE_T
     using std::mbstate_t;
     #endif
     #endif
#elif defined(__COMO__) || defined(_MSC_VER) && _MSC_VER <= 1300 ||
defined(__BORLANDC__)
     typedef ::mbstate_t mbstate_t;
#elif defined(BOOST_NO_STDC_NAMESPACE)
     typedef std::mbstate_t mbstate_t;
     namespace std{
         using ::codecvt;
     } // namespace std
#endif

And then you go ahead to use an unqualified mbstate_t. This just doesn't
work for CW. And I don't see how this would work for any library runtime
that puts mbstate_t only in the std namespace. Could you explain what
your intent is for this?

-- 
-- Grafik - Don't Assume Anything
-- Redshift Software, Inc. - http://redshift-software.com
-- rrivera/acm.org - grafik/redshift-software.com - 102708583/icq

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