basic_streambuf Class

描述抽象基类派生流缓冲区,从而控制的元素与特定的流表示形式传输。

template<class Elem, class Tr = char_traits<Elem> >
   class basic_streambuf;

参数

备注

模板类描述一个抽象基类派生流缓冲区,从而控制的元素与特定的流表示形式传输。对象类的basic_streambuf用于控制流类型的元素与Tr,也称为 char_type,其字符特性由类 char_traits,也称为 traits_type

每个流缓冲区中从概念上讲控制两个独立的流: 一个用于提取内容 (输入),另一个用于插入 (输出)。特定的表示形式可能,但是,使这两个这些流不可访问。它通常用于保留某些两个流之间的关系。将插入输出流的 basic_stringbuf<Elem, Tr> 对象,例如,是什么您以后从提取其输入流。当您定位一个流的 basic_filebuf<Elem, Tr> 对象放置在一起的其他流。

模板类的公共接口basic_streambuf提供通用的所有流的缓冲区,但是专用的操作。受保护的接口提供完成其工作流的特定表示所需的操作。受保护的虚拟成员函数允许您定制为特定的流表示派生的流缓冲区的行为。在此库中的每个派生的流缓冲区描述它专用化其受保护的虚拟成员函数的行为。本主题中描述的基类,通常不执行任何操作,使用的默认行为。

剩余的受保护的成员函数控件复制到和从缓冲区传输到所提供的任何存储和流。输入的缓冲区,例如,特征:

  • eback,到开始处的缓冲区的指针。

  • gptr,读取的下一个元素的指针。

  • egptr,正好在缓冲区的结尾的指针。

同样,输出缓冲区的特征是:

  • pbase,到开始处的缓冲区的指针。

  • pptr,一个指向要写入的下一个元素。

  • epptr,正好在缓冲区的结尾的指针。

对于任何缓冲区中,使用下列协议:

  • 如果下一步的指针为 null,则存在缓冲区。否则,所有三个指针指向相同的顺序。它们可以安全地比较订单。

  • 输出缓冲区,如果下一个指针比较小于结束指针,可以存储的下一页指针指向指定的写位置处的元素。

  • 输入缓冲区,如果下一个指针比较小于结束指针,可以读取读取的下一页指针指向指定位置处的元素。

  • 输入缓冲区,用于开始指针比较小于下一个指针,可以将放回元素的递减的下一页指针指向指定的 putback 位置。

所有受保护的虚拟成员函数,您可以编写为从派生类basic_streambuf<Elem, Tr> 维护此协议必须相互合作。

An object of class basic_streambuf<Elem, Tr> 存储前面所述的六个指针。它还存储区域设置对象类型的对象在的区域设置供潜在使用派生的流的缓冲区。

9h24a8cd.collapse_all(zh-cn,VS.110).gif构造函数

basic_streambuf

构造类型的对象basic_streambuf

9h24a8cd.collapse_all(zh-cn,VS.110).gifTypedef

char_type

将关联的类型名称与Elem模板参数。

int_type

将关联的类型名称中的basic_streambuf范围与Elem模板参数。

off_type

将关联的类型名称中的basic_streambuf范围与Elem模板参数。

pos_type

将关联的类型名称中的basic_streambuf范围与Elem模板参数。

traits_type

将关联的类型名称与Tr模板参数。

9h24a8cd.collapse_all(zh-cn,VS.110).gif成员函数

eback

受保护的函数的指针返回到输入缓冲区的开始。

egptr

受保护的函数返回一个指针,只需输入缓冲区的结尾。

epptr

受保护的函数返回的指针正好在输出缓冲区的结尾。

gbump

受保护的函数中添加的_Count下一步输入缓冲区的指针。

getloc

获取basic_streambuf对象的区域设置。

gptr

受保护的函数,将指针返回到下一个元素的输入缓冲区。

imbue

A 保护,虚函数调用的 pubimbue

in_avail

返回元素,即可从缓冲区读取的数。

Overflow — 溢出

整个缓冲区中插入新的字符时,可以调用受保护虚函数。

pbackfail

受保护的虚拟成员函数会尝试将元素放回输入流,然后使其成为当前元素 (指向的指针下一步)。

pbase

受保护的函数的指针返回到开始处的输出缓冲区。

pbump

受保护的函数中添加的count下一个输出缓冲区的指针。

pptr

受保护的函数,返回到下一个元素的输出缓冲区的指针。

pubimbue

basic_streambuf对象的区域设置。

pubseekoff

调用 seekoff、 受保护的派生类中被重写虚函数。

pubseekpos

调用 seekpos、 受保护的虚函数的派生类中被重写,并将重置当前光标位置。

pubsetbuf

调用 setbuf、 受保护的派生类中被重写虚函数。

pubsync

调用同步、 受保护的虚函数在派生类中重写并更新与该缓冲区关联的外部流。

sbumpc

读取并返回当前元素,并将流指针移动。

seekoff

受保护的虚拟成员函数试图改变控制流的当前位置。

seekpos

受保护的虚拟成员函数试图改变控制流的当前位置。

setbuf

受保护的虚拟成员函数执行的操作特定的每个派生的流缓冲区。

setg

受保护的存储函数_Gbeg开头的指针,在_Gnext中的下一个指针,和_Gend在末尾输入缓冲区的指针。

setp

受保护的存储函数_Pbeg开头的指针和_Pend在最终输出缓冲区的指针。

sgetc

返回当前元素,而无需更改流中的位置。

sgetn

返回读取的元素的数目。

showmanyc

受保护的虚拟成员函数,返回的字符,可以从输入流中提取并确保该程序也不会无限期等待取决于数的计数。

snextc

读取当前元素,并返回下面的元素。

sputbackc

char_type在流中。

sputc

将字符放到流。

sputn

将一个字符的字符串放置到流中。

stossc

越过流中的当前元素。

sungetc

从流中获取一个字符。

换用

交换中所提供的值为该对象中的值basic_streambuf参数的对象。

同步

受保护的虚函数会尝试与所有关联的外部流进行同步的控制的流。

uflow

受保护的虚函数的输入流中提取当前元素。

下溢

受保护的虚函数的输入流中提取当前元素。

xsgetn

受保护的虚函数的输入流中提取元素。

xsputn

受保护的虚函数,将元素插入到输出流。

9h24a8cd.collapse_all(zh-cn,VS.110).gif运算符

operator=

将此对象的值分配从另一个basic_streambuf对象。

要求

标题: <streambuf>

命名空间: 标准

请参见

参考

线程安全性对标准C++库中

iostream编程

(mfc)约定

其他资源

basic_streambuf 成员

streambuf 成员