ISO/IEC C++ China Unofficial

 找回密码
 立即注册
搜索
查看: 1530|回复: 5

[TODO] stream 开火车

[复制链接]

10

主题

115

帖子

612

积分

超级版主

RA2DIY 特别行政区行政长官

Rank: 8Rank: 8

威望
4
经验
486
贡献
3
发表于 2016-2-21 19:08:38 | 显示全部楼层 |阅读模式
这是对 std::*stream 的重构设想:
  • 删除同时支援 I/O 的 stream,包括但不限于 basic_iostream, basic_fstream, basic_stringstream 等;
  • 提供 filtered_(i|o)stream,即基于 stream 的 stream;
  • (i|o)fstream 不再提供 i/o buffering,其功能用一个 buffering_(i|o)stream (继承自 filtered_(i|o)stream) 替代。


最终大概可以实现这样的功能:
  1. auto ifs = make_unique<ifstream>("path/to/file");
  2. auto bifs = make_unique<buffering_istream>(move(ifs));
  3. auto zbifs = make_unique<zlib_decoding_istream>(move(bifs));
  4. auto b64zbifs = make_unique<base64_encoding_istream>(move(zbifs));

  5. char data[4096];
  6. size_t len;
  7. while((len = b64zbifs->readsome(data, sizeof(data))) > 0){
  8.     // 处理数据。
  9. }
复制代码
以上代码从文件 path/to/file 中读取数据,提供 i/o buffering,将其使用 zlib 解压,再用 base64 编码,最后处理得到的 ASCII 数据。

We will prevail!! https://www.lhmouse.com/
回复

使用道具 举报

3

主题

74

帖子

287

积分

中级会员

Rank: 3Rank: 3

威望
9
经验
186
贡献
9
发表于 2016-2-22 15:43:59 | 显示全部楼层
-挽-
LGD是TI8冠军!-2018.8.24 16:30留
回复

使用道具 举报

10

主题

115

帖子

612

积分

超级版主

RA2DIY 特别行政区行政长官

Rank: 8Rank: 8

威望
4
经验
486
贡献
3
 楼主| 发表于 2016-2-23 16:33:42 | 显示全部楼层
We will prevail!! https://www.lhmouse.com/
回复 支持 反对

使用道具 举报

0

主题

1

帖子

17

积分

新手上路

Rank: 1

威望
0
经验
16
贡献
0
发表于 2017-2-11 14:28:25 | 显示全部楼层
摸猫猫
回复

使用道具 举报

10

主题

115

帖子

612

积分

超级版主

RA2DIY 特别行政区行政长官

Rank: 8Rank: 8

威望
4
经验
486
贡献
3
 楼主| 发表于 2017-3-3 00:59:52 | 显示全部楼层
We will prevail!! https://www.lhmouse.com/
回复 支持 反对

使用道具 举报

0

主题

2

帖子

14

积分

新手上路

Rank: 1

威望
0
经验
12
贡献
0
发表于 7 天前 | 显示全部楼层
三网合一,尽享电信、联通、广电高速上网0资费,不限流量不限网速,山区、农村、城镇高速免费上网永不花钱!最新9600WN接收信号距离高达19公里,无论您身在地球任何一个角落,都能搜到信号实现免费上网,最新软件全自动智能管理,信号强,网速快,优先自动连接上网,免去您任何手动繁琐作,保证让您高速上网免费不花钱就是这么简单!
朋友们,您还在为家里装修要拉网线烦恼吗?还在忧愁每年交昂贵网费吗?还在苦恼出差无法上网吗?还在傻傻节省4G流量每月还要高达几十元流量费吗?还在敢怒不敢言的公司、学校、宿舍限制上网吗?还在苦逼每天站在阳台高举手机为了搜一个wifi吗?世界上最遥远的距离是明明有wifi,却用不了是多么痛苦的事!玩一会王者荣耀没了几个G的流量,看了一会视频,没了几个G的流量,壕!?还是无奈!?明明很节省,没用少则几十元多则上百元的流量费,如此高昂的费用是不是让您皱眉呢?没关系,用最新9600WN永久免费上网吧!只要168元让您永久免费上网不花钱,无需电脑,无需布线,只需插电,电脑、手机、平板免费上网就是这么任性,wifi信号覆盖高达19公里,无需站阳台,无需放窗外,想在哪里就在哪里!信号强,网速快,免费上网,能免则免,免费到底!
一次购买,永久免费!人生不设限,全球免费上网放心用!
免费热线:188-2652-1502  客服QQ:1094201567 官网 www.ccyxf.com












9600WN
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|ISO/IEC C++ China Unofficial

GMT+8, 2019-4-26 11:55 , Processed in 0.064888 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表