kelas

Templat kelas menjelaskan objek iterator output yang menulis elemen karakter berturut-turut ke aliran output dengan ekstraksi . S berbeda dari Kelas 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 .

Traits
Jenis yang mewakili jenis karakter untuk ostreambuf_iterator. Argumen ini bersifat opsional dan nilai defaultnya adalah .

Keterangan

Kelas ostreambuf_iterator harus memenuhi persyaratan untuk iterator output. Algoritma dapat ditulis langsung ke aliran output menggunakan . 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 diinisialisasi untuk menulis karakter ke aliran output.

Typedefs

Nama jenis Deskripsi
char_type Jenis yang menyediakan jenis karakter .
ostream_type Jenis yang menyediakan jenis aliran .
streambuf_type Jenis yang menyediakan jenis aliran .
traits_type Jenis yang menyediakan jenis sifat karakter dari .

Fungsi anggota

Fungsi anggota Deskripsi
failed Pengujian untuk kegagalan penyisipan ke dalam buffer aliran output.

Operator

Operator Deskripsi
operator* Operator dereferensi yang digunakan untuk mengimplementasikan ekspresi iterator output .
operator++ Operator kenaikan nonfungsi yang mengembalikan ke objek yang sama yang ditanganinya sebelum operasi dipanggil.
operator= Operator menyisipkan karakter ke dalam buffer aliran terkait.

Persyaratan

Header :

kumpulan nama XML:

ostreambuf_iterator::char_type

Jenis yang menyediakan jenis karakter .

typedef CharType char_type;

Keterangan

Jenisnya adalah sinonim untuk parameter templat .

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;
}
OUT.

ostreambuf_iterator::failed

Pengujian untuk kegagalan penyisipan ke dalam buffer aliran output.

bool failed() const throw();

Tampilkan Nilai

jika tidak ada penyisipan ke dalam buffer aliran output yang gagal sebelumnya; jika tidak .

Keterangan

Fungsi anggota mengembalikan jika ada upaya sebelumnya untuk memasukkan karakter ke dalam buffer aliran output tidak berhasil.

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;
}
abc are characters output individually.
No insertions failed.

ostreambuf_iterator::operator*

Operator dereferensi nonfungsi yang digunakan untuk mengimplementasikan ekspresi iterator output .

ostreambuf_iterator<CharType, Traits>& operator*();

Tampilkan Nilai

Objek iterator ostreambuf.

Keterangan

Operator ini hanya berfungsi dalam ekspresi iterator output ke karakter output untuk mengalirkan buffer. Diterapkan ke , itu mengembalikan iterator; mengembalikan .

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';
}
Elements written to output stream:
OUT

ostreambuf_iterator::operator++

Operator kenaikan nonfungsi yang mengembalikan 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 .

Keterangan

Operator digunakan untuk mengimplementasikan ekspresi iterator output .

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';
}
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 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';
}
Elements written to output stream:
OUT

ostreambuf_iterator::ostreambuf_iterator

Membuat yang 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 .

Konstruktor kedua menginisialisasi pointer stream-buffer output dengan *. 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 );
}
OUT are characters output individually.
These characters are being written to the output stream.

ostreambuf_iterator::ostream_type

Jenis yang menyediakan jenis aliran .

typedef basicOstream<CharType, Traits> ostream_type;

Keterangan

Jenisnya adalah sinonim untuk

Contoh

Lihat contoh cara mendeklarasikan dan menggunakan .

ostreambuf_iterator::streambuf_type

Jenis yang menyediakan jenis aliran .

typedef basic_streambuf<CharType, Traits> streambuf_type;

Keterangan

Jenisnya adalah sinonim untuk , kelas streaming untuk buffer I/O yang menjadi ketika dikhususkan untuk jenis karakter .

Contoh

Lihat contoh cara mendeklarasikan dan menggunakan .

ostreambuf_iterator::traits_type

Jenis yang menyediakan jenis sifat karakter dari .

typedef Traits traits_type;

Keterangan

Jenisnya adalah sinonim untuk parameter templat .

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;
}
The characters written to the output stream
by charOutBuf are: OUT.

Lihat juga

iterator
Keamanan utas di Pustaka Standar C++
Referensi pustaka standar C++