Boost logo

Boost :

From: Vladimir Prus (ghost_at_[hidden])
Date: 2005-06-22 06:50:03


I've just updated my Boost tree, and now get this:

/space/NM/boost/boost/serialization/type_info_implementation.hpp:48: error:
incomplete
   type `boost::STATIC_ASSERTION_FAILURE<false>' does not have member `value'

The check in type_info_implementation.hpp was introduced in revision 1.4 of
that file. I should also note that log message is "invoke auto-link only when
necessary", which is clearly not accurate, given that the STATIC_ASSERT does
not have anything to do with auto-linking.

There's no comment why the STATIC_ASSERTION is there. So, what's that?

If I add

   #include <boost/serialization/extended_type_info_typeid_fwd.hpp>

to the top of the file (to grab definition of
BOOST_SERIALIZATION_DEFAULT_TYPE_INFO), things start to look better, but I
get:

/space/NM/boost/boost/archive/detail/iserializer.hpp:113: error: incomplete
   type 'boost::serialization::extended_type_info_typeid<const
   boost::scoped_ptr<lvk::nm_model::runtime::BlockFormula::data> >' cannot be
   used to name a scope

When I change the include to be:

  #include <boost/serialization/extended_type_info_typeid.hpp>

I get this:

   /space/NM/boost/boost/archive/basic_archive.hpp:21:2: #error "no
   serialization headers my precede anyarchive headers"

I don't understand this error. What if I have a header file MyClass.hpp that
declares a serialize function. So, I might need to include
<serialization/base_object.hpp>. I need to do that in the header, I believe.
Now if I include archive headers in a .cpp file, will that trigger an error?
Or the above rule has some exceptions?

Ok, now to base_object.hpp. I get:

/space/NM/boost/boost/serialization/base_object.hpp:75: error: parse error
   before `;' token

because the header uses 'type_info_implementation' without including the
appropriate header.

So, to summarize:
1. Could the type_info_implementation.hpp header be fixed either by including

   #include <boost/serialization/extended_type_info_typeid.hpp>

or in some other way.

2. Could base_object.hpp be fixed either by including the appropriate header,
   or in some other way.

3. What are the exact rules about relative order of serialization/ and
archive/ includes?

- Volodya


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