std::ostreambuf_iterator

来自cppreference.com
< cpp‎ | iterator

定义于头文件 <iterator>
template< class CharT, class Traits = std::char_traits<CharT>>

class ostreambuf_iterator : public std::iterator<std::output_iterator_tag,

                                                 void, void, void, void>
std::ostreambuf_iterator是连续的字符写入到std::basic_streambuf对象,它构建了一个单通输出迭代器。该迭代器时(不论是否解除引用或不)被分配给实际的写操作被执行。递增std::ostreambuf_iterator是一个no-op.
原文:
std::ostreambuf_iterator is a single-pass output iterator that writes successive characters into the std::basic_streambuf object for which it was constructed. The actual write operation is performed when the iterator (whether dereferenced or not) is assigned to. Incrementing the std::ostreambuf_iterator is a no-op.
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。
在典型的应用中,唯一的数据成员std::ostreambuf_iterator是一个指针,指向相关的std::basic_streambuf和一个布尔标志,表示如果文件的情况已达到.
原文:
In a typical implementation, the only data members of std::ostreambuf_iterator are a pointer to the associated std::basic_streambuf and a boolean flag indicating if the the end of file condition has been reached.
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。

目录

[编辑] 会员类型

会员类型
原文:
Member type
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。
Definition
char_type CharT
traits_type Traits
streambuf_type std::basic_streambuf<CharT, Traits>
ostream_type std::basic_ostream<CharT, Traits>

[编辑] 成员函数

构造一个新ostreambuf_iterator
原文:
constructs a new ostreambuf_iterator
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。

(公开成员函数)
(析构函数)
(隐式声明)
destructs an ostreambuf_iterator
(公开成员函数)
将一个字符写入到相关的输出序列
原文:
writes a character to the associated output sequence
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。

(公开成员函数)
no-op
(公开成员函数)
no-op
(公开成员函数)
测试,如果输出失败
原文:
tests if output failed
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。

(公开成员函数)

[编辑] 成员类型

成员类型 定义
value_type void
difference_type void
pointer void
reference void
iterator_category std::output_iterator_tag

注意:在 C++17 前,这些成员类型要求通过从 std::iterator<std::output_iterator_tag,void,void,void,void> 继承而获得。

[编辑] 示例

#include <string>
#include <algorithm>
#include <iterator>
#include <iostream>
int main()
{
    std::string s = "This is an example\n";
    std::copy(s.begin(), s.end(), std::ostreambuf_iterator<char>(std::cout));
}

输出:

This is an example

[编辑] 另请参阅

std::basic_streambuf 读取的输入迭代器
(类模板) [编辑]
写入 std::basic_ostream 的输出迭代器
(类模板) [编辑]