acl  3.5.3.0
acl::ostream类 参考

#include <ostream.hpp>

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

Public 成员函数

 ostream (void)
 
virtual ~ostream (void)
 
int write (const void *data, size_t size, bool loop=true, bool buffed=false)
 
bool fflush (void)
 
int writev (const struct iovec *v, int count, bool loop=true)
 
int vformat (const char *fmt, va_list ap)
 
int format (const char *fmt,...) ACL_CPP_PRINTF(2
 
int int write (long long int n)
 
int write (int n)
 
int write (short n)
 
int write (char ch)
 
int write (const string &s, bool loop=true)
 
int puts (const char *s)
 
ostreamoperator<< (const string &s)
 
ostreamoperator<< (const char *s)
 
ostreamoperator<< (long long int n)
 
ostreamoperator<< (int n)
 
ostreamoperator<< (short n)
 
ostreamoperator<< (char ch)
 
virtual int push_pop (const char *in, size_t len, string *out=NULL, size_t max=0)
 
virtual int pop_end (string *out, size_t max=0)
 
- Public 成员函数 继承自 acl::stream
 stream (void)
 
virtual ~stream (void)=0
 
bool close (void)
 
bool eof (void) const
 
void clear_eof (void)
 
bool opened (void) const
 
ACL_VSTREAMget_vstream (void) const
 
ACL_VSTREAMunbind (void)
 
bool set_ctx (void *ctx, const char *key=NULL, bool replace=true)
 
void * get_ctx (const char *key=NULL) const
 
void * del_ctx (const char *key=NULL)
 
void set_rw_timeout (int n)
 
void set_time_unit (time_unit_t unit)
 
int get_rw_timeout (void) const
 
stream_hooksetup_hook (stream_hook *hook)
 
stream_hookget_hook (void) const
 
stream_hookremove_hook (void)
 
stringget_buf (void)
 
dbuf_poolget_dbuf (void)
 
- Public 成员函数 继承自 acl::pipe_stream
 pipe_stream ()
 
virtual ~pipe_stream ()
 
virtual void clear ()
 

额外继承的成员函数

- Protected 成员函数 继承自 acl::stream
void open_stream (bool is_file=false)
 
void reopen_stream (bool is_file=false)
 
- Protected 成员函数 继承自 acl::acl::noncopyable
 noncopyable ()
 
 ~noncopyable ()
 
- Protected 属性 继承自 acl::stream
stream_hookhook_
 
ACL_VSTREAMstream_
 
stringbuf_
 
dbuf_pooldbuf_
 
void * default_ctx_
 
std::map< string, void * > * ctx_table_
 
bool eof_
 
bool opened_
 

详细描述

输入流处理过程类,调用者想确切知道输出流是否出错或是否关闭, 应该调用 stream->eof() 来进行判断

在文件 ostream.hpp17 行定义.

构造及析构函数说明

◆ ostream()

acl::ostream::ostream ( void  )
inline

在文件 ostream.hpp22 行定义.

22 {}

◆ ~ostream()

virtual acl::ostream::~ostream ( void  )
inlinevirtual

在文件 ostream.hpp23 行定义.

23 {}

成员函数说明

◆ fflush()

bool acl::ostream::fflush ( void  )

如果采用写缓冲方式,则最后需要调用本函数刷写缓冲区

返回
{bool} 返回 false 表示写失败,有可能是连接关闭

◆ format()

int acl::ostream::format ( const char *  fmt,
  ... 
)

带格式方式写数据,类似于 fprintf,保证数据全部写入

参数
fmt{const char*} 变参格式字符串
返回
{int} 真实写入的数据长度,返回 -1 表示出错

◆ operator<<() [1/6]

ostream& acl::ostream::operator<< ( const string s)

以下几个函数为输出操作符重载函数,且都是阻塞输出过程, 如果想判断输出流是否出错或关闭应该调用 stream->eof() 来进行判断

◆ operator<<() [2/6]

ostream& acl::ostream::operator<< ( const char *  s)

◆ operator<<() [3/6]

ostream& acl::ostream::operator<< ( long long int  n)

◆ operator<<() [4/6]

ostream& acl::ostream::operator<< ( int  n)

◆ operator<<() [5/6]

ostream& acl::ostream::operator<< ( short  n)

◆ operator<<() [6/6]

ostream& acl::ostream::operator<< ( char  ch)

◆ pop_end()

virtual int acl::ostream::pop_end ( string out,
size_t  max = 0 
)
inlinevirtual

实现了 acl::pipe_stream.

在文件 ostream.hpp138 行定义.

139  {
140  (void) out;
141  (void) max;
142  return (0);
143  }

◆ push_pop()

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

实现了 acl::pipe_stream.

◆ puts()

int acl::ostream::puts ( const char *  s)

输出一行字符串数据,在所给字符串后添加 "\r\n"

参数
s{const char*} 字符串指针,必须以 '\0' 结尾
返回
{int} 输出数据的长度,返回 -1 表示出错

◆ vformat()

int acl::ostream::vformat ( const char *  fmt,
va_list  ap 
)

带格式方式写数据,类似于 vfprintf,保证数据全部写入

参数
fmt{const char*} 格式字符串
ap{va_list} 变参列表
返回
{int} 真实写入的数据长度,返回 -1 表示出错

◆ write() [1/6]

int acl::ostream::write ( const void *  data,
size_t  size,
bool  loop = true,
bool  buffed = false 
)

写数据至输出流中

参数
data{const void*} 数据指针地址
size{size_t} data 数据长度(字节)
loop{bool} 是否保证数据全部输出才返回,如果为 true, 则该函数直至数据全部输出或出错才会返回;否则仅写一次便返回, 但并不保证数据全部写完
buffed{bool} 是否先缓存待写的数据
返回
{int} 真实写入的数据量, 返回 -1 表示出错

◆ write() [2/6]

int int acl::ostream::write ( long long int  n)

写入一个 64 位整数

参数
n{acl_int64} 64 位数据
返回
{int} 写入的数据长度,返回 -1 表示出错

◆ write() [3/6]

int acl::ostream::write ( int  n)

写入一个 32 位整数

参数
n{int} 32 位整数
返回
{int} 写入的数据长度,返回 -1 表示出错

◆ write() [4/6]

int acl::ostream::write ( short  n)

写入一个 16 位短整数

参数
n{int} 16 位整数
返回
{int} 写入的数据长度,返回 -1 表示出错

◆ write() [5/6]

int acl::ostream::write ( char  ch)

写一个字节

参数
ch{char}
返回
{int} 写入的数据长度,返回 -1 表示出错

◆ write() [6/6]

int acl::ostream::write ( const string s,
bool  loop = true 
)

输出缓冲区中的数据

参数
s{const string&}
loop{bool} 是否要求全部输出完才返回
返回
{int} 输出数据的长度,返回 -1 表示出错

◆ writev()

int acl::ostream::writev ( const struct iovec *  v,
int  count,
bool  loop = true 
)

写数据至输出流中

参数
v{const struct iovec*}
count{int} 数组 v 的元素个数
loop{bool} 是否保证数据全部输出才返回,如果为 true, 则该函数直至数据全部输出或出错才会返回;否则仅写一次便返回, 但并不保证数据全部写完
返回
{int} 真实写入的数据量, 返回 -1 表示出错

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