std::ostreambuf_iterator
���自cppreference.com
| 在標頭 <iterator> 定義
|
||
| |
(C++17 前) | |
| |
(C++17 起) | |
std::ostreambuf_iterator 是單趟輸出迭代器,寫入相繼元素到為之創建迭代器的 std::basic_streambuf 對象。實際寫操作在賦值給迭代器(無論是否解引用)時進行。自增 std::ostreambuf_iterator 是無操作。
典型實現中,std::ostreambuf_iterator 僅有的數據成員是指向關聯 std::basic_streambuf 的指針,和指示是否抵達文件尾條件的布爾標誌。
成員類型
| 成員類型 | 定義 | ||||
iterator_category
|
std::output_iterator_tag
| ||||
value_type
|
void
| ||||
difference_type
|
| ||||
pointer
|
void
| ||||
reference
|
void
| ||||
char_type
|
CharT
| ||||
traits_type
|
Traits
| ||||
streambuf_type
|
std::basic_streambuf<CharT, Traits>
| ||||
ostream_type
|
std::basic_ostream<CharT, Traits>
|
|
要求通過從 |
(C++17 前) |
成員函數
構造新的 ostreambuf_iterator (公開成員函數) | |
(析構函數) (隱式聲明) |
銷毀 ostreambuf_iterator (公開成員函數) |
| 寫字符到關聯的輸出序列 (公開成員函數) | |
| 無操作 (公開成員函數) | |
| 無操作 (公開成員函數) | |
| 測試是否輸出失敗 (公開成員函數) |
示例
運行此代碼
#include <algorithm>
#include <iostream>
#include <iterator>
#include <string>
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 的輸出迭代器 (類模板) |