Boost logo

Boost Users :

Subject: [Boost-users] [boost-users][serialization] porting to windows ce?
From: Bobby Nations (bwnations_at_[hidden])
Date: 2008-10-08 13:23:56

I've been working to get boost-serialization running on a Windows CE
(actually Pocket PC 2003) device these last few days, and have hit a
snag. Could anyone help me with what might be causing the following
errors in the operators.hpp file?

c:\Documents and
7ide\..\..\..\boost/operators.hpp(699) : error C3083: 'detail': the
symbol to the left of a '::' must be a type

It happens at this section of code:

namespace boost {
// A type parameter is used instead of a plain bool because Borland's
// didn't cope well with the more obvious non-type template parameter.
namespace detail {
  struct true_t {};
  struct false_t {};
} // namespace detail

// Unspecialized version assumes that most types are not being used for
// class chaining. We specialize for the operator templates defined in
// library.
template<class T> struct is_chained_base {
        ::boost::detail::false_t value;

The error happens at the '::boost::detail::false_t value' line.

So far, I've been surrounding any mentions of the locale header file or
it's attendant classes with '#ifndef BOOST_NO_STD_LOCALE ... #endif'
blocks, which allowed me to compile about half of the .cpp files. I
also added code to use Microsoft's WideCharToMultiByte() and
MultiByteToWideChar() methods rather than using the std::wctomb() and
std::mbtowc() .

Can anyone explain why the above code throws errors? It seems to be te
final remaining hurdle to getting this working (well, sort of working


Bobby Nations

Boost-users list run by williamkempf at, kalb at, bjorn.karlsson at, gregod at, wekempf at