basic_streambuf 类

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

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

参数

备注

描述模板类派生的流缓冲区的基类,抽象传出流的特定元素表示控制传输。 类 basic_streambuf 帮助控制对象与 Tr类型,也称为 char_type的元素的流,类依赖性格字符,也称为 char_traitstraits_type

每个流缓冲区从概念上讲两个独立控制流:一个提取输入 () 和一个插入的输出 ()。 特定表示可能,但是,通过的或不可访问这两的流。 它通常保留两流之间的某些关系。 例如,basic_stringbuf<,则插入Elem中,Tr> 对象的输出流是您从其内容的最新提取。 当确定 basic_filebuf<Elem,Tr> 对象的流时,将确定先后另一个流。

对模板类的公共 basic_streambuf 接口提供对所有流缓冲区是常见操作,专用的。 保护的接口提供流的特定需要的操作表示完成其工作。 受保护的虚成员函数可定制的派生流缓冲区的流的行为特定表示的。 每个派生的流缓冲区在此库中描述了专用其保护的虚成员函数行为。 基类的默认行为,但这里不经常是执行,本主题中介绍。

剩余的受保护成员函数进出任何存储控制副本提供给缓冲区中传输化为流。 输入缓冲区,例如,。以在为:

  • eback,该缓冲区的开头的指针。

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

  • egptr,指针经过缓冲区的末尾。

同样,输出缓冲区。以在为:

  • pbase,该缓冲区的开头的指针。

  • pptr,写入的元素下的指针。

  • epptr,指针经过缓冲区的末尾。

对于所有缓冲区,请使用以下协议:

  • 如果下指针为空,缓冲区不存在。 否则,三分球所有点放入同一中的顺序。 可针对顺序比较安全。

  • 对于输出缓冲区,因此,如果下指针的指针进行比较结束更小,可以将元素存储在下编写指定指针的位置。

  • 对于输入缓冲区,因此,如果下指针的指针进行比较结束小于,则可以读取在元素下指定指针的读位置。

  • 对于输入缓冲区,因此,如果开始指针与指针下比较少,可以放回元素。递减的指针下放回指定的位置。

您从 basic_streambuf<派生的Elem类编写的任何受保护的虚成员函数 Tr> 中,必须保留协作此协议。

basic_streambuf<的Elem,Tr> 对象存储以前所述的六指针。 由派生的流缓冲区也存储在类型 区域设置 对象的区域设置对象对潜在的使用。

构造函数

basic_streambuf

构造 basic_streambuf 类型的对象。

Typedef

char_type

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

int_type

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

off_type

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

pos_type

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

traits_type

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

成员函数

eback

返回指向输入缓冲区的开头的受保护的函数。

egptr

返回输入指针经过缓冲区结尾的受保护的函数。

epptr

返回指针跳过输出缓冲区末尾的受保护的函数。

gbump

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

getloc

获取 basic_streambuf 对象中的区域设置。

gptr

返回指向输入缓冲区中的下一个元素一个受保护的函数。

灌输

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

从流获取字符。

swap

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

同步

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

uflow

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

下溢

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

xsgetn

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

xsputn

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

运算符

operator=

赋值其他 basic_streambuf 对象的此对象。

要求

页眉: <streambuf>

命名空间: std

请参见

参考

C++ 标准库中的线程安全

iostream 编程

iostreams 约定

其他资源

basic_streambuf 成员

streambuf 成员