Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Templat kelas ostreambuf_iterator menjelaskan objek iterator output yang menulis elemen karakter berturut-turut ke aliran output dengan operator>> ekstraksi. S ostreambuf_iteratorberbeda dari kelas ostream_iterator dalam memiliki karakter alih-alih jenis generik pada jenis objek yang dimasukkan ke dalam aliran output.
Sintaks
template <class CharType = char, class Traits = char_traits <CharType>>
Parameter
CharType
Jenis yang mewakili jenis karakter untuk ostreambuf_iterator. Argumen ini bersifat opsional dan nilai defaultnya adalah char.
Sifat
Jenis yang mewakili jenis karakter untuk ostreambuf_iterator. Argumen ini bersifat opsional dan nilai defaultnya adalah char_traits<CharType>.
Keterangan
Kelas ostreambuf_iterator harus memenuhi persyaratan untuk iterator output. Algoritma dapat ditulis langsung ke aliran output menggunakan ostreambuf_iterator. Kelas ini menyediakan iterator aliran tingkat rendah yang memungkinkan akses ke aliran I/O mentah (tidak diformat) dalam bentuk karakter dan kemampuan untuk melewati buffering dan terjemahan karakter yang terkait dengan iterator aliran tingkat tinggi.
Konstruktor
| Konstruktor | Deskripsi |
|---|---|
| ostreambuf_iterator | Membuat yang ostreambuf_iterator diinisialisasi untuk menulis karakter ke aliran output. |
Typedefs
| Nama jenis | Deskripsi |
|---|---|
| char_type | Jenis yang menyediakan jenis karakter .ostreambuf_iterator |
| ostream_type | Jenis yang menyediakan jenis aliran .ostream_iterator |
| streambuf_type | Jenis yang menyediakan jenis aliran .ostreambuf_iterator |
| traits_type | Jenis yang menyediakan jenis sifat karakter dari ostream_iterator. |
Fungsi anggota
| Fungsi anggota | Deskripsi |
|---|---|
| gagal | Pengujian untuk kegagalan penyisipan ke dalam buffer aliran output. |
Operator
| Operator | Deskripsi |
|---|---|
| Operator* | Operator dereferensi yang digunakan untuk mengimplementasikan ekspresi iterator output * i = x. |
| operator++ | Operator kenaikan nonfungsi yang mengembalikan ostreambuf_iterator ke objek yang sama yang ditanganinya sebelum operasi dipanggil. |
| operator= | Operator menyisipkan karakter ke dalam buffer aliran terkait. |
Persyaratan
Header:<iterator>
Namespace: std
ostreambuf_iterator::char_type
Jenis yang menyediakan jenis karakter .ostreambuf_iterator
typedef CharType char_type;
Keterangan
Jenisnya adalah sinonim untuk parameter CharTypetemplat .
Contoh
// ostreambuf_iterator_char_type.cpp
// compile with: /EHsc
#include <iterator>
#include <vector>
#include <iostream>
int main( )
{
using namespace std;
typedef ostreambuf_iterator<char>::char_type CHT1;
typedef ostreambuf_iterator<char>::traits_type CHTR1;
// ostreambuf_iterator for stream cout
// with new line delimiter:
ostreambuf_iterator< CHT1, CHTR1> charOutBuf ( cout );
// Standard iterator interface for writing
// elements to the output streambuf:
cout << "The characters written to the output stream\n"
<< " by charOutBuf are: ";
*charOutBuf = 'O';
charOutBuf++;
*charOutBuf = 'U';
charOutBuf++;
*charOutBuf = 'T';
charOutBuf++;
cout << "." << endl;
}
/* Output:
The characters written to the output stream
by charOutBuf are: OUT.
*/
ostreambuf_iterator::gagal
Pengujian untuk kegagalan penyisipan ke dalam buffer aliran output.
bool failed() const throw();
Tampilkan Nilai
true jika tidak ada penyisipan ke dalam buffer aliran output yang gagal sebelumnya; jika tidak false.
Keterangan
Fungsi anggota mengembalikan true jika, dalam penggunaan anggota operator=sebelumnya , panggilan ke subf_->sputc mengembalikan eof.
Contoh
// ostreambuf_iterator_failed.cpp
// compile with: /EHsc
#include <iterator>
#include <vector>
#include <iostream>
int main( )
{
using namespace std;
// ostreambuf_iterator for stream cout
ostreambuf_iterator<char> charOut ( cout );
*charOut = 'a';
charOut ++;
*charOut = 'b';
charOut ++;
*charOut = 'c';
cout << " are characters output individually." << endl;
bool b1 = charOut.failed ( );
if (b1)
cout << "At least one insertion failed." << endl;
else
cout << "No insertions failed." << endl;
}
/* Output:
abc are characters output individually.
No insertions failed.
*/
ostreambuf_iterator::operator*
Operator dereferensi nonfungsi yang digunakan untuk mengimplementasikan ekspresi iterator output * i = x.
ostreambuf_iterator<CharType, Traits>& operator*();
Tampilkan Nilai
Objek iterator ostreambuf.
Keterangan
Operator ini hanya berfungsi dalam ekspresi iterator output * i = x ke karakter output untuk mengalirkan buffer. Diterapkan ke iterator ostreambuf, ia mengembalikan iterator; *iter mengembalikan iter,
Contoh
// ostreambuf_iterator_op_deref.cpp
// compile with: /EHsc
#include <iterator>
#include <vector>
#include <iostream>
int main( )
{
using namespace std;
// ostreambuf_iterator for stream cout
// with new line delimiter
ostreambuf_iterator<char> charOutBuf ( cout );
// Standard iterator interface for writing
// elements to the output stream
cout << "Elements written to output stream:" << endl;
*charOutBuf = 'O';
charOutBuf++; // no effect on iterator position
*charOutBuf = 'U';
*charOutBuf = 'T';
}
/* Output:
Elements written to output stream:
OUT
*/
ostreambuf_iterator::operator++
Operator kenaikan nonfungsi yang mengembalikan iterator ostream ke karakter yang sama dengan yang ditangani sebelum operasi dipanggil.
ostreambuf_iterator<CharType, Traits>& operator++();
ostreambuf_iterator<CharType, Traits>& operator++(int);
Tampilkan Nilai
Referensi ke karakter yang awalnya ditujukan atau ke objek yang ditentukan implementasi yang dapat dikonversi ke ostreambuf_iterator<CharType, Traits.>
Keterangan
Operator digunakan untuk mengimplementasikan ekspresi iterator output * i = x.
Contoh
// ostreambuf_iterator_op_incr.cpp
// compile with: /EHsc
#include <iterator>
#include <vector>
#include <iostream>
int main( )
{
using namespace std;
// ostreambuf_iterator for stream cout
// with new line delimiter
ostreambuf_iterator<char> charOutBuf ( cout );
// Standard iterator interface for writing
// elements to the output stream
cout << "Elements written to output stream:" << endl;
*charOutBuf = 'O';
charOutBuf++; // No effect on iterator position
*charOutBuf = 'U';
*charOutBuf = 'T';
}
/* Output:
Elements written to output stream:
OUT
*/
ostreambuf_iterator::operator=
Operator menyisipkan karakter ke dalam buffer aliran terkait.
ostreambuf_iterator<CharType, Traits>& operator=(CharType _Char);
Parameter
_Char
Karakter yang akan disisipkan ke dalam buffer aliran.
Tampilkan Nilai
Referensi ke karakter yang disisipkan ke dalam buffer aliran.
Keterangan
Operator penugasan yang digunakan untuk mengimplementasikan ekspresi iterator output * i = x untuk menulis ke aliran output.
Contoh
// ostreambuf_iterator_op_assign.cpp
// compile with: /EHsc
#include <iterator>
#include <vector>
#include <iostream>
int main( )
{
using namespace std;
// ostreambuf_iterator for stream cout
// with new line delimiter
ostreambuf_iterator<char> charOutBuf ( cout );
// Standard iterator interface for writing
// elements to the output stream
cout << "Elements written to output stream:" << endl;
*charOutBuf = 'O';
charOutBuf++; // No effect on iterator position
*charOutBuf = 'U';
*charOutBuf = 'T';
}
/* Output:
Elements written to output stream:
OUT
*/
ostreambuf_iterator::ostreambuf_iterator
Membuat yang ostreambuf_iterator diinisialisasi untuk menulis karakter ke aliran output.
ostreambuf_iterator(streambuf_type* strbuf) throw();
ostreambuf_iterator(ostream_type& Ostr) throw();
Parameter
strbuf
Objek streambuf output yang digunakan untuk menginisialisasi pointer stream-buffer output.
Ostr
Objek aliran output yang digunakan untuk menginisialisasi pointer stream-buffer output.
Keterangan
Konstruktor pertama menginisialisasi pointer stream-buffer output dengan strbuf.
Konstruktor kedua menginisialisasi pointer stream-buffer output dengan Ostr. rdbuf. Penunjuk tersimpan tidak boleh berupa penunjuk null.
Contoh
// ostreambuf_iteratorOstreambuf_iterator.cpp
// compile with: /EHsc
#include <iterator>
#include <vector>
#include <iostream>
int main( )
{
using namespace std;
// ostreambuf_iterator for stream cout
ostreambuf_iterator<char> charOut ( cout );
*charOut = 'O';
charOut ++;
*charOut = 'U';
charOut ++;
*charOut = 'T';
cout << " are characters output individually." << endl;
ostreambuf_iterator<char> strOut ( cout );
string str = "These characters are being written to the output stream.\n ";
copy ( str.begin ( ), str. end ( ), strOut );
}
/* Output:
OUT are characters output individually.
These characters are being written to the output stream.
*/
ostreambuf_iterator::ostream_type
Jenis yang menyediakan jenis aliran .ostream_iterator
typedef basicOstream<CharType, Traits> ostream_type;
Keterangan
Jenisnya adalah sinonim untuk basicOstream<CharType, Traits>
Contoh
Lihat ostreambuf_iterator untuk contoh cara mendeklarasikan dan menggunakan ostream_type.
ostreambuf_iterator::streambuf_type
Jenis yang menyediakan jenis aliran .ostreambuf_iterator
typedef basic_streambuf<CharType, Traits> streambuf_type;
Keterangan
Jenisnya adalah sinonim untuk basic_streambuf<CharType, Traits>, kelas stream untuk buffer I/O yang menjadi ketika dikhususkan streambuf untuk jenis charkarakter .
Contoh
Lihat ostreambuf_iterator untuk contoh cara mendeklarasikan dan menggunakan streambuf_type.
ostreambuf_iterator::traits_type
Jenis yang menyediakan jenis sifat karakter dari ostream_iterator.
typedef Traits traits_type;
Keterangan
Jenisnya adalah sinonim untuk parameter Traitstemplat .
Contoh
// ostreambuf_iterator_traits_type.cpp
// compile with: /EHsc
#include <iterator>
#include <vector>
#include <iostream>
int main( )
{
using namespace std;
typedef ostreambuf_iterator<char>::char_type CHT1;
typedef ostreambuf_iterator<char>::traits_type CHTR1;
// ostreambuf_iterator for stream cout
// with new line delimiter:
ostreambuf_iterator< CHT1, CHTR1> charOutBuf ( cout );
// Standard iterator interface for writing
// elements to the output streambuf:
cout << "The characters written to the output stream\n"
<< " by charOutBuf are: ";
*charOutBuf = 'O';
charOutBuf++;
*charOutBuf = 'U';
charOutBuf++;
*charOutBuf = 'T';
charOutBuf++;
cout << "." << endl;
}
/* Output:
The characters written to the output stream
by charOutBuf are: OUT.
*/
Lihat juga
<iterator>
Keamanan utas di Pustaka Standar C++
Referensi pustaka standar C++