Boost logo

Boost Users :

Subject: Re: [Boost-users] [serialization] Serializing derived template classvia base pointer
From: Daniel Mitchell (dlm.bulk.messages_at_[hidden])
Date: 2013-01-17 16:35:46


Hi Robert, thanks for your reply. Unfortunately I couldn't find any of the demos to which you refer, but I did find a 2005 boost-users thread on the subject:

http://thread.gmane.org/gmane.comp.lib.boost.user/13244/

In that discussion you said you did not have a general solution. I'm just wondering if anything has changed since then e.g maybe C++11 makes a solution possible.

On Jan 17, 2013, at 2:01 PM, "Robert Ramey" <ramey_at_[hidden]> wrote:

> Daniel Mitchell wrote:
>> Hi everyone, has any progress has been made on a general solution for
>> this problem? Given classes like these,
>>
>> struct base {
>> template<typename Archive>
>> void serialize(Archive& ar, unsigned version) { }
>> virtual ~base() = default;
>> };
>>
>> template<typename T>
>> struct derived : base {
>> template<typename Archive>
>> void serialize(Archive& ar, unsigned version) { ar & data; }
>> T data;
>> };
>>
>> is it possible to serialize the derived type (with T unknown) via a
>> base pointer? Sticking a call to register_type<derived> in
>> derived::serialize doesn't seem to do it.
>
> There are several demos in the examples directory which show how to do this.
>
> Robert Ramey
>
>
>
> _______________________________________________
> Boost-users mailing list
> Boost-users_at_[hidden]
> http://lists.boost.org/mailman/listinfo.cgi/boost-users


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