私は約1日間プロトタイプ化したEternity libraryを置き換えるC++オブジェクト永続ライブラリを探しています。永遠の図書館が不足しました。永遠に似たC++オブジェクト永続ライブラリ
私は存続し、XML形式で復元したいstd::list
ArchiveJob*
の年代を持っている:
私はこれに似たオブジェクト階層を作成しました。各ArchiveJob
にはさまざまな子オブジェクトがあり、スタックにはいくつか、ヒープにはいくつかのオブジェクトが割り当てられています。
Eternityはこれらのオブジェクトを正しく永続化するのには効果的でしたが、復元すると失敗しました。
xml_read(sequence<pointers>(), *pList, pList->begin(), xml, "ScheduleList");
このコールArchiveJob
オブジェクトに割り当てられたメモリ(永遠に精通している人のためには、以下の「復元」操作は、XMLファイルからデータを読み取ることができませんでした)が、そのすべての子が初期化されていないでした。
誰かがそのオブジェクト階層の永続化ソリューションをお勧めします:
- が持続することはできます/復元STLコンテナ
- は、(それが構築さを必要とする場合、それはVS200xソリューションファイルを持っていないなど)は、Windowsの開発者に優しいです
- 複雑なオブジェクト階層を扱うことができます
XML serialization with boostを学習するのに時間が必要ですか? STLコンテナのマスターオブジェクトに格納されている複雑なオブジェクト階層はどのように処理されますか?
あなたはブーストシリアライゼーションを使ってこのようなオブジェクトの階層をシリアル化する経験がありましたか?あなたはどのロードブロッキングにも慣れましたか? –
ええ、私はカスタムバイナリアーカイバ(ライブラリの例よりも移植性が高い)を使ってMMORPGに使用しました。私の階層構造は十分シンプルであり、ロードブロッキングはありませんでした。ドキュメント構造は少し良くなるかもしれませんが、大きな問題ではありません –
は興味深いプロジェクトのように聞こえます:) –