
Thorsten Ottosen ha escrito:
Dear All,
I have just added serialization to Boost.Ptr container. I briefly discussed an issue with Robert, namely that the current implementation calls clear() before reading the new values.
The alternative is to provide roll-back guarantee by default by creating a local container and swap() in the end. By default this would temporarily use more memory.
IMO we should go for the strong guarantee. Any thoughts?
I would NOT go for the strong guarantee for the following two reasons: 1. Given the basic guarantee, all-or-nothing semantics can be implemented externally, and as efficiently as you'd do it internally. 2. It might be of interest to keep a partially recovered object. For instance, think of the situation in which a container is being marshalled thru a socket and you lose internet conectivity. Joaquín M López Muñoz Telefónica, Investigación y Desarrollo