冲洗boost :: iostreams :: zlib_compressor。如何获得“同步冲洗”?

tim*_*day 5 c++ boost zlib flush boost-iostreams

有没有得到需要的一些神奇的“zlib的同步刷新”使用时boost::iostreams::zlib_compressor?只需调用flush过滤器上,或strict_syncfiltering_ostream包含它没有看到做的工作(即我想压缩机冲刷足够的解压缩器可以恢复所有字节压缩机消耗到目前为止,没有关闭流)。

查看标头,似乎定义了一些“冲洗代码”(特别是a sync_flush),但我不清楚应如何使用它们(请注意,我的压缩器只是添加到了filtering_ostream)。

tim*_*day 2

事实证明,存在一个根本问题,即symmetric_filter继承 zlib_compressor自的 本身不可刷新(这似乎是一个疏忽)。

添加此类支持可能symmetric_filter就像添加flushable_tag并公开现有的私有刷新方法一样简单,但现在我可以接受它。