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?

Foi útil?

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
scroll top