|
Boost : |
From: Vladimir Prus (ghost_at_[hidden])
Date: 2005-06-23 00:19:32
Robert Ramey wrote:
> 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."
This rule means that I can't include <boost/serialization/base_object.hpp>
in my headers, and then in my cpp file first include my headers and then
archive headers. And I do want to include my header first in .cpp, in order
to detect any missing includes in the header itself.
> 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.
No, even with the mandated order of includes, I still run into the problem.
>> 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.
How? Clearly, if I include base_object.hpp in a header, I cannot obey the
above rule. Ok leaving just:
#include <boost/serialization/access.hpp>
#include <boost/serialization/split_member.hpp>
#include <boost/serialization/base_object.hpp>
in my header, and using the mandated includes order in .cpp file, I still
get the same error.
What should we do next?
- Volodya
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk