首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何基于filtered_streambuf构建basic_streambuf?

如何基于filtered_streambuf构建basic_streambuf?
EN

Stack Overflow用户
提问于 2010-04-20 21:18:56
回答 1查看 340关注 0票数 0

我有一个项目,要求我将过滤器插入到流中,以便根据筛选器修改传出数据。经过一些研究,我想要做的似乎是创建这样一个filtered_streambuf:

代码语言:javascript
复制
template <class StreamBuf>
class filtered_streambuf: public StreamBuf
{ ... }

然后将一个filtered_streambuf<>插入到我需要过滤的任何流中。我的问题是,我不知道在过滤流时需要维护哪些不变量,以确保

  • 派生类可以按预期工作。特别是,我可能会发现我的filtered_streambufs构建在其他filtered_streambufs之上。
  • 所有的流插入器、萃取器和机械手都按预期工作。

麻烦的是,我似乎无法计算出我需要提供的最小接口是什么,以保证iostream能够正常工作。

特别是,我是否需要伪造受保护指针变量的移动?我需要假的数据缓冲区吗?我能不能重写这些公共函数,用基本的流重写它们,还是太简单了?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-04-21 00:23:14

Boost.Iostreams可能对你有用。

从文件中:

Boost.Iostreams有三个目标:

  • 为了便于创建标准的C++流和流缓冲区来访问新的源和流。
  • 提供一个框架,定义过滤器并将其附加到标准流和流缓冲区。
  • 提供一组现成的过滤器,源和结块.

我自己也几乎没有用过这种花言巧语,所以我不能再发表评论了。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2678718

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档