私は今飛び込んboost::iostreams
でいて、いくつかを反復するストリームを作成する方法を探していますcontainer<char>
。
現在、 で機能するコードがありますが、std::vector<char>
でのみ機能します。特定のコードを書いたからです。std::vector
私は次のことをしています:
template <class Object, class Container>
void Load(Object& object, const Container& container) {
using namespace boost::iostreams;
// Create a stream that iterates over vector and use it in
// the following procedure
LoadImpl(object, stream<array_source>(&container[0], container.size()));
}
whereLoadImpl(...)
は次のように記述されます。
template <class Object
void LoadImpl(Object& object, std::istream& stream) { ... }
また、特定の を使用してシリアル化/逆シリアル化をラップするために使用されstream
ます。
Load
ルーチンをより一般的なものにする方法について何かアドバイスをいただけますか? たとえば、コンテナstd::vector<char>
があればそれに代わる機能が欲しいと思います。std::string