我有一个项目,要求我将过滤器插入到流中,以便根据筛选器修改传出数据。经过一些研究,我想要做的似乎是创建这样一个filtered_streambuf:
template <class StreamBuf>
class filtered_streambuf: public StreamBuf
{ ... }然后将一个filtered_streambuf<>插入到我需要过滤的任何流中。我的问题是,我不知道在过滤流时需要维护哪些不变量,以确保
麻烦的是,我似乎无法计算出我需要提供的最小接口是什么,以保证iostream能够正常工作。
特别是,我是否需要伪造受保护指针变量的移动?我需要假的数据缓冲区吗?我能不能重写这些公共函数,用基本的流重写它们,还是太简单了?
发布于 2010-04-21 00:23:14
Boost.Iostreams可能对你有用。
从文件中:
Boost.Iostreams有三个目标:
我自己也几乎没有用过这种花言巧语,所以我不能再发表评论了。
https://stackoverflow.com/questions/2678718
复制相似问题