約1日プロトタイピングしてきたEternityライブラリに代わるC++オブジェクト永続性ライブラリを探しています。エタニティライブラリが不足しました。
次のようなオブジェクト階層を作成しました。
XML形式で永続化および復元したいものがありますstd::list
。ArchiveJob*
それぞれArchiveJob
にさまざまな子オブジェクトがあり、一部はスタックに割り当てられ、一部はヒープに割り当てられます。
Eternityはこれらのオブジェクトを正しく永続化するのに良い仕事をしましたが、それらを復元するときに失敗しました。
(Eternityに精通している場合は、次の「復元」操作でXMLファイルからデータを読み取ることができませんでした)
xml_read( sequence<pointers>(), *pList, pList->begin(), xml, "ScheduleList" );
この呼び出しはArchiveJob
オブジェクトにメモリを割り当てましたが、そのすべての子は初期化されていませんでした。
誰かが次のようなオブジェクト階層永続化ソリューションを推奨できますか?
- STLコンテナを永続化/復元できます
- Windows開発者に優しいですか(たとえば、ビルドが必要な場合、VS200xソリューションファイルがありますか)
- 複雑なオブジェクト階層を処理できます
Boostを使用したXMLシリアル化の学習に時間を費やす必要がありますか?STLコンテナのマスターオブジェクトに格納されている複雑なオブジェクト階層をどのように処理しますか?