を使用して「バージョン管理された」シリアライゼーションを作成する方法について、以前にこの質問をしましたboost::serialization::access
やりたいことのいくつかはできましたが、重大な制限があるようです。
具体的には、実行時にバージョンを変更し、シリアル化バージョンをコード内で動的に変更できるようにしたいと考えています。
ただしマクロは
BOOST_CLASS_VERSION(ClassName, ver)
このタイプの動作は許可されていないようです。
さまざまなクラスを作成し、それぞれが必要なときにそれぞれを使用できると思いますが、それには多くのコード変更が必要になるため、そうしないことをお勧めします。
同じ実行中に異なるバージョンを使用するようにクラスをプログラムで変更する方法はありますか?
何をする必要があるかについてもう少し説明します。
私が取り組もうとしているユースケースは、プログラムが古いバージョンで読み取り (最初に実行/アップグレードされたとき)、次に新しいバージョンで書き込み、その新しいバージョンも読み取ることができるというものです。