質問
「連鎖」を考えていた入力を2回フィルタリングするためのc ++ iostreamのカップル。私はgzstreamsを使用してzlib圧縮ファイルを読み取り、ストリームから読み取り、エンコード変換を実行するストリームをコーディングすることを考えていました。おそらく、開かれたストリームをコンストラクターパラメーターとして渡すことによって...これをどのように行うのが最善だと思いますか?
解決
これは使用していませんが、ブーストの filtering_stream が役立つ場合があります。
例として、メーリングリストの投稿を見つけましたインデントする出力フィルターを実装する indent.hpp 出力:
boost::iostreams::filtering_ostream out;
indent_filter::push(out,2);
out.push(std::cout);
次のように使用します:
out << "Hello Filter!\n"
<< indent_in
<< "this is\n"
<< "indented\n"
<< indent_out
<< "until here\n"
;
出力される結果:
Hello Filter!
this is
indented
until here
所属していません StackOverflow