acl  3.5.3.0
acl::pipe_stream类 参考abstract

#include <pipe_stream.hpp>

+ 类 acl::pipe_stream 继承关系图:
+ acl::pipe_stream 的协作图:

Public 成员函数

 pipe_stream ()
 
virtual ~pipe_stream ()
 
virtual int push_pop (const char *in, size_t len, string *out, size_t max=0)=0
 
virtual int pop_end (string *out, size_t max=0)=0
 
virtual void clear ()
 

额外继承的成员函数

- Protected 成员函数 继承自 acl::acl::noncopyable
 noncopyable ()
 
 ~noncopyable ()
 

详细描述

双向输入输出缓冲管道流, 该流不仅可接收输入数据,同时还可输出所 输入的数据,纯虚基类,子类需要实现三个接口函数

在文件 pipe_stream.hpp13 行定义.

构造及析构函数说明

◆ pipe_stream()

acl::pipe_stream::pipe_stream ( )
inline

在文件 pipe_stream.hpp16 行定义.

16 {}

◆ ~pipe_stream()

virtual acl::pipe_stream::~pipe_stream ( )
inlinevirtual

在文件 pipe_stream.hpp17 行定义.

17 {}

成员函数说明

◆ clear()

virtual void acl::pipe_stream::clear ( void  )
inlinevirtual

清空内部缓冲区

acl::json, acl::xml, acl::zlib_stream, acl::mime_code, acl::charset_conv , 以及 acl::pipe_string 重载.

在文件 pipe_stream.hpp43 行定义.

43 {}

◆ pop_end()

virtual int acl::pipe_stream::pop_end ( string out,
size_t  max = 0 
)
pure virtual

最后处理的输出数据接口

参数
out{string*} 存储输出结果缓冲区,不能为空
max{size_t} 希望接收到输出结果的长度限制,如果为0则 表示没有限制,输出结果都存储在 out 缓冲区中
返回
{int} 输出数据的长度,如果 < 0 则表示出错

acl::json, acl::xml, acl::zlib_stream, acl::ostream, acl::mime_code, acl::charset_conv , 以及 acl::pipe_string 内被实现.

◆ push_pop()

virtual int acl::pipe_stream::push_pop ( const char *  in,
size_t  len,
string out,
size_t  max = 0 
)
pure virtual

数据输入输出接口

参数
in{const char*} 输入数据的地址
len{size_t} 输入数据长度
out{string*} 存储输出结果缓冲区,不能为空
max{size_t} 希望接收到输出结果的长度限制,如果为0则 表示没有限制,输出结果都存储在 out 缓冲区中
返回
{int} 输出数据的长度,如果 < 0 则表示出错

acl::json, acl::xml, acl::zlib_stream, acl::ostream, acl::mime_code, acl::charset_conv , 以及 acl::pipe_string 内被实现.


该类的文档由以下文件生成: