Boost logo

Boost Users :

From: Robert Ramey (ramey_at_[hidden])
Date: 2007-01-30 12:15:58


Marc Wäckerlin wrote:
> Robert Ramey wrote:
>> BOOST_EXPORT must
>> a) be invoked outside of any namespace
>> b) not have characters like < >, :: etc in it
>> c) refer to a complete type
>
> That's not even the problem. I extended my example from the last
> thread by a simple class A - no template, no namespace - and it
> reproduces the problem.
>
> Please have a look at the attachment.
>
> Other question: My main problem is, that derived classes are not
> stored through (smart-) pointer to base.

Then BOOST_CLASS_EXPORT should not be necessary. It is only
used to assign an external name to a type.

> Will this problem be
> resolved when I'll be able to export, or what's the problem there and
> what's "BOOST_CLASS_EXPORT" for? Is it only for assigning a name?
> Then, do I really need it (because my serialiser does neither care
> about, nor stores meta information)?

I do not see how a serializer which does not store meta information can
work.

I suggest separating issues relating to serialization of classes from those
related to creation of custom archives.

a) test serialization of your classes one of the archives delivered with the
system

b) test your custom archive with some of the class serializations delivered
with the system.

It looks like your example fails to link. Note that the archives included
with the system used explicit instantiation to generated templated code not
otherwise explicitly referred to.

Robert Ramey


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net