Noah Roberts wrote:
On 7/15/2011 5:27 AM, Don wrote:
I apologize if this is a duplicate posting. I sent this 2 days ago, and it appears in the archives, but I never received it back from the list and there have been no replies, so I am posting it again.
Using boost serialization, I would like to be able to write an old version of a class, so that I can save data in an "old" format to allow other users with an old version of my program to read the file.
I see from the archives that this has come up before, and Robert Ramey indicated it was doable and on the todo list, but I don't see it in the release notes or documentation. Did anything every come of this?
As far as I had been informed, backward compatibility in writing was never planned for the serialization library and was never even planned to be planned.
That's exactly true. But I did look into it and much to my surprise I did conclude that there was no fundamental obstacle - just quite a bit of work. Enhancing the the serialization library - or even fixing a bug - is more problematic than with other libraries besides avoiding breaking interfaces, one needs to be able to read previously created archives as well. Then there is an issue that implementing this exposes a few asymetries in the implementation which would also have to be addressed somehow. All in all quite a job.
I don't think you'll find a way to do it without severely altering the library itself.
It wouldn't be THAT sever - BUT, even a small change has quite a bit of "ripple effect"
Personally, I think this is a significantly lacking feature and I'd love to see it implemented. If you pull it off, please consider sharing.
It never occurred to me that such a thing would ever be useful. Also it isn't requested very often. I'm not saying that it's an illegitimate request - just one that no one has found it so necessary as to actually invest the required effort. Robert Ramey