C++(gcc環境)のシリアライズについて
Posted: 2011年7月29日(金) 17:49
C++でクラスをシリアライズして、sqliteなどに格納し、必要な時に
とりだしてデシリアライズすることを考えております。
以前、pythonで同様のシステムを構築した経験がありますが、
Pythonの場合は目的のオブジェクトをシリアライズモジュール
に放り込むだけで勝手にシリアライズしてくれ、大変便利でした。
一方でC++ではboostのSerializationを試しましたが、
シリアライズ対象となるクラスに処理を記入しなければならず
あまり便利とは言えません。
さらに、STLコンテナなどがメンバ変数にある場合には、
serialization/vector.hppなどをインポートする必要があるため、
自作のコンテナクラスなどをメンバ変数とするクラスのシリアライズ
は難しいのではないかと思います。(まだ、成功しておりません
ので、参考となる情報をお持ちの方は提供していただければ
助かります。)
Pythonなどのように、クラス構造を考えずに簡単にシリアライズ
する方法はないのでしょうか。(thisポインタの参照先をシリアライズ
してくれるようなイメージです)
アドバイスをいただければ幸です。
とりだしてデシリアライズすることを考えております。
以前、pythonで同様のシステムを構築した経験がありますが、
Pythonの場合は目的のオブジェクトをシリアライズモジュール
に放り込むだけで勝手にシリアライズしてくれ、大変便利でした。
一方でC++ではboostのSerializationを試しましたが、
シリアライズ対象となるクラスに処理を記入しなければならず
あまり便利とは言えません。
さらに、STLコンテナなどがメンバ変数にある場合には、
serialization/vector.hppなどをインポートする必要があるため、
自作のコンテナクラスなどをメンバ変数とするクラスのシリアライズ
は難しいのではないかと思います。(まだ、成功しておりません
ので、参考となる情報をお持ちの方は提供していただければ
助かります。)
Pythonなどのように、クラス構造を考えずに簡単にシリアライズ
する方法はないのでしょうか。(thisポインタの参照先をシリアライズ
してくれるようなイメージです)
アドバイスをいただければ幸です。