Subject: Re: [boost] Interest in boost.deepcopy
From: Allan Johns (allan.johns_at_[hidden])
Date: 2011-10-24 22:44:52
On Tue, Oct 25, 2011 at 1:29 PM, Julien Nitard <julien.nitard_at_[hidden]>wrote:
> > Consider an object hierarchy in which there may be multiple references to
> > shared objects. A deep copy should give an identical, but entirely
> > copy of the entire structure.
> > Also consider eg std::map<std::string,T*>... the std::map copy
> > is not going to create new instances of T in the copy - this is a shallow
> > copy.
> If I understand properly, when you encounter a pointer you duplicate the
> object pointed to. Is that right ?
Often but not always. Sometimes a type will want specific behaviour, such as
sharing an internal reference with the original object because there is some
COW pattern implemented.
> Does it work properly if (in your example
> above) T is a polymorphic class ? If yes, how ?
Yes, and in the same way boost.serialize works... each polymorphic class is
> Unsubscribe & other changes:
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk