Boost logo

Boost :

From: Robert Ramey (ramey_at_[hidden])
Date: 2005-06-22 09:57:36


Vladimir Prus wrote:
> So, to summarize:
> 3. What are the exact rules about relative order of serialization/ and
> archive/ includes?
>

In order to get desired behavior regarding invocation of auto-linking only
when necessary I had to impose some restriction regarding sequening of
#include statements. The rule is:

"all #includes from the boost/archive directory should preceed all #includes
from the serialization directory."

Up until now, this "rule" was only necessary for inclusion of export.hpp .

> 1. Could the type_info_implementation.hpp header be fixed either by
> including
>
> #include <boost/serialization/extended_type_info_typeid.hpp>
>

This should be included automatcially if no other alternative
extended_type_info implementation is not loaded first. That is, the default
system is to use rtti as the type_info system. I'm pretty sure that
adherence to the rule above will eliminate this problem. While making the
the changes to avoid auto-linking, I ran into the problem. As you have
discovered, its source is not at all obvious. That is why I added the
#errror message to enforce the rule above. I do not believe that this will
create any problem for library users. It will permit BOOST_CLASS_EXPORT
macros to be located in the class header files where they rightfully belong
without instantiating unused code and linking. This was a previous
annoyance which I hope will be addressed by these changes.

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

I believe this will also be correct by following the above rule.

Robert Ramey


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