I'd like some advice on how to lay out a design in C++ that can handle multiple versions of a file.
The file will contain enough information to identify version 5 from version 6 in a header. Most of the structures will be identical. However there may be the occasional oddity and certainly many new structures. In the newer versions.
This is an existing program written in C. I'm considering porting this to C++ while I learn C++.
The input for the files are complicated by marshaling. So its not a simple matter of reading a struct.
I was originally just considering implementing separate libraries for this one for version5 and the next for version10.. But I'd like input on handling this internally using C++.