複雑なネストされた構造を取得して、静的データとして.cppファイルに直接保存しようとしています。私が採用したいアプローチは、オブジェクト(Boostシリアル化をすでにサポートしている)を取得し、それをバイナリアーカイブとしてバイト配列にシリアル化することです。次に、そのバイト配列を取得し、それをウォークスルーして、バイナリ配列を保持するために必要な.cppコードを自動生成することができます。次に、そのバイト配列からオブジェクトに逆シリアル化します。
だから基本的に、一日の終わりに私はこのようなものが欲しいです:
unsigned char* my_obj = { 10, 48, 48, 30, 20 ... }
そのデータを使用したい場合は、「バイトストリーム」でラップし、Boostに再度渡して、実際のオブジェクトに逆シリアル化します。
私の質問は、バイト配列をストリームとして渡す簡単な方法はありますか?Boostは、アーカイブの読み取りと書き込みのためのistreamとostreamを扱います。文字列ストリームやファイルストリームは使用したくありませんが、渡されるものすべてに対して巨大なバイト配列として機能するカスタムストリームである可能性があります。
このカスタムストリームを作成し、Boostシリアル化とシームレスに連携させるための優れた方法があるはずだと思います...どこから始めればよいのかよくわかりません。