Pregunta
Estaba pensando en " encadenar " un par de c ++ iostreams juntos para filtrar la entrada dos veces. Estoy usando gzstreams para leer archivos comprimidos de zlib y estaba pensando en codificar una secuencia que se lee de una secuencia y realiza conversiones de codificación. Quizás pasando un flujo abierto como parámetro de constructor ... ¿Cómo crees que podría lograrse esto?
Solución
No he usado esto pero refuerza filtering_stream puede ayudar.
Como ejemplo, encontré una publicación de la lista de correo con indent.hpp , que implementa un filtro de salida con sangría salidas:
boost::iostreams::filtering_ostream out;
indent_filter::push(out,2);
out.push(std::cout);
Y utilízalo así:
out << "Hello Filter!\n"
<< indent_in
<< "this is\n"
<< "indented\n"
<< indent_out
<< "until here\n"
;
Lo que resultará en salida:
Hello Filter!
this is
indented
until here
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow