Boost.Serialization と組み合わせて PhysFS を使用したいと考えています。ここで、Boost.Iostreams を使用して PhysFS ファイル ストリームを作成する実装を見つけました 。基本的な操作で機能します。Boost.Serialization で使用しようとすると購入します。実行時に次のエラーが発生します。
/usr/include/boost/iostreams/detail/optional.hpp:55: T& boost::iostreams::detail::optional<T>::operator*() [with T = boost::iostreams::detail::concept_adapter<PhysFS::FileDevice>]: Assertion `initialized_' failed.
Aborted
これがコードの例です。
PhysFS::init(argv[0]);
PhysFS::setWriteDir(".");
PhysFS::FileStream ofs("test.xml", PhysFS::OM_WRITE);
boost::archive::xml_oarchive xml(ofs);
vec2 vec(3.1415, 2.5);
xml << BOOST_SERIALIZATION_NVP(vec);
ofs.close();
PhysFS::deinit();
Boost.Serialization のようなライブラリで動作する PhysFS 用の動作するファイル ストリーム ラッパーを取得する方法はありますか?