
martin.ecker@tab.at wrote:
Peter Dimov wrote:
The problem I've not been able to solve so far is where to keep it without making shared_ptr special WRT the archives. :-)
At work, we're using a modified version of boost::serialization where we've added a shared_ptr registry (the container to keep the pointed- to objects alive) as a kind of user data to the archives. So this could be a way, which would, however, require users to explicitly associate the shared_ptr registry with archives that have to deserialize shared_ptrs/weak_ptrs. We haven't found this to be much of a problem, though.
I'm using something similar (not with boost::serialization, though). But this requires that all archives know about the special case of shared_ptr.
In general, I propose adding some sort of user data mechanism to archives.
What do you suggest along those lines?