私の質問は、プログラムのロールバックとアーカイブの互換性の管理に関するものです。バージョン 10 => archive.txt のプログラムでタイプ T のオブジェクトを保存したとしましょう。プログラムを以前のバージョン (たとえば 5) にロールバックする場合、1.30 の T が archive.txt に保存されたオブジェクトと同じ "BOOST_CLASS_VERSION" を持っているかどうかを (パフォーマンスの問題のためにデシリアライズしようとせずに) チェックしたいと思います。
簡単に言うと、アーカイブに保存されている T の BOOST_CLASS_VERSION を取得する方法はありますか?
ブーストコードを読みましたが、それを行うための「非常に直接的な」方法が見つかりませんでした。basic_iarchive_impl の cobject_id_vector を取得する必要があるようですが、これらはすべて非公開です。それを行うための別の非侵入的な方法はありますか?(邪魔にならないということは、ブーストパブリックのものだけを使用するか、少なくとも単純な継承を使用して基本クラスの保護されたメンバーを取得することを意味します)。
前もって感謝します。