Pergunta
Eu estava pensando em "encadeamento" um par de c ++ iostreams toghether a entrada do filtro duas vezes. Estou usando gzstreams para ler arquivos compactados zlib e eu estava pensando de codificação de um fluxo que lê a partir de um fluxo e realiza codificação de conversões. Talvez pela passagem de uma corrente aberta como parâmetro de construtor ... Como você acha que isso poderia ser melhor realizado?
Solução
Eu não usei isso, mas aumento de filtering_stream pode ajudar.
Como exemplo, eu encontrei um post lista de discussão com indent.hpp , que implementa um filtro de saída que travessões saídas:
boost::iostreams::filtering_ostream out;
indent_filter::push(out,2);
out.push(std::cout);
E usá-lo assim:
out << "Hello Filter!\n"
<< indent_in
<< "this is\n"
<< "indented\n"
<< indent_out
<< "until here\n"
;
O que resultará na saída:
Hello Filter!
this is
indented
until here
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow