Boost logo

Boost Users :

From: Robert Ramey (ramey_at_[hidden])
Date: 2005-07-05 22:18:00


boost_at_[hidden] wrote:
> Thanks. If I changed the order of the members being serialized it
> worked fine. Weird.
>
> However, I am running into a problem. I am using reference counted
> Smart Pointers. If I serialize the reference counter, then when it
> is loaded it will likely contain too large of a reference count
> because there were more objects referencing the pointer when it was
> saved than when it was loaded. However, it works fine it just doesn't
> properly delete the objects because the reference count never reaches
> 0.
>
> If I don't serialize the reference count then the objects try to
> delete themselves while boost is loading them from the file. I'm
> guessing because of the order everything happens, the final
> destination isn't increasing the reference count until after boost
> already dereferences it.
>
> Any suggestions?

I'm not sure which reference counted Smart Pointer you're using. If you use
the boost smart_ptr, its already has serializaiton done. If you want to add
serialization to your own Smart Pointer, you can look at how it was done for
the boost smart pointer - now there are two versions so you have lots of
ideas available.

Robert Ramey


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