Vivek wrote:
> I am writing a library that will handle storing and
serializing
> user-defined types. The user-defined types are required to
be
> themselves serializable.
>
> However the library
uses templates to create containers of user
> types.
So far so good - look at the serialization
implementions for std::vector<T>
and others.
>These containers are then serialized through a base class
>
pointer. I don't know how to export the container types to
>
boost::serialization through the templates. The only way I can do it
> is
to force the user of the library to BOOST_CLASS_EXPORT_GUID()
> every
container type.
That would be the way to do it. However,
someone proposed a solution
to this problem and uploaded it as a track
item. I found it intriguing,
But I decided not to implement it to keep the
library from getting
any more complicated than it already is. You
might want to
paste this proposed enhancement into your own
code.
>
> I've tried unpacking the macro by looking at
>
boost/serialization/export.hpp, but it is slightly complex.
lol - this is an understatement
> Is
> there a way to export a class as part of the template
instantiation?
> Or another way to write the library to easily serialize
containers of
> user-defined types?
The rub here is your requirement that it be exported through
a base class pointer. Were it not for this, it is easily
done
just like standard containers are.
Robert Ramey