std::ostreambuf_iterator<CharT,Traits>:: ostreambuf_iterator
From cppreference.net
<
cpp
|
iterator
|
ostreambuf iterator
C++
Iterator library
| Iterator concepts | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Iterator primitives | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Algorithm concepts and utilities | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Indirect callable concepts | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Common algorithm requirements | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Utilities | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Iterator adaptors | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
std::ostreambuf_iterator
| Member functions | ||||
|
ostreambuf_iterator::ostreambuf_iterator
|
||||
| (1) | ||
|
ostreambuf_iterator
(
streambuf_type
*
buffer
)
throw
(
)
;
|
(C++11まで) | |
|
ostreambuf_iterator
(
streambuf_type
*
buffer
)
noexcept
;
|
(C++11から) | |
| (2) | ||
|
ostreambuf_iterator
(
ostream_type
&
stream
)
throw
(
)
;
|
(C++11まで) | |
|
ostreambuf_iterator
(
ostream_type
&
stream
)
noexcept
;
|
(C++11から) | |
1)
イテレータを構築し、非公開メンバ
streambuf_type*
を
buffer
に設定し、
failed()
フラグを
false
に設定する。
buffer
がヌルポインタの場合の動作は未定義である。
2)
ostreambuf_iterator
(
stream.
rdbuf
(
)
)
と同じです。
パラメータ
| stream | - |
このイテレータが
rdbuf()
をアクセスする出力ストリーム
|
| buffer | - | このイテレータがアクセスする出力ストリームバッファ |
例
このコードを実行
#include <fstream> #include <iostream> #include <iterator> int main() { const char* file = "test.txt"; { std::basic_filebuf<char> f; f.open(file, std::ios::out); std::ostreambuf_iterator<char> out1(&f); *out1 = 'a'; // イテレータを介してファイルに書き込み } // ファイルから読み戻し char a; std::cout << ((std::ifstream{file} >> a), a) << std::endl; std::ostreambuf_iterator<wchar_t> out2{std::wcout}; *out2 = L'b'; }
出力:
a b
不具合報告
以下の動作変更の欠陥報告書は、以前に公開されたC++規格に対して遡及的に適用されました。
| DR | 適用対象 | 公開時の動作 | 正しい動作 |
|---|---|---|---|
| LWG 112 | C++98 |
要件「引数はnullであってはならない」が
オーバーロード (2) に適用されていた |
オーバーロード
(1) に適用される |
| P2325R3 | C++20 |
デフォルトコンストラクタが提供されていた(C++20
イテレータは
default_initializable
でなければならないため)
|
要件と共に
削除された |