Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Sınıf şablonu , ayıklama ile çıkış akışına ardışık karakter öğeleri yazan bir çıkış yineleyici nesnesi açıklar. S'ler, çıkış akışına eklenen nesne türündeki genel bir tür yerine karakterlere sahip olan Sınıfınkinden farklıdır.
Sözdizimi
template <class CharType = char, class Traits = char_traits <CharType>>
Parametreler
CharType
ostreambuf_iterator için karakter türünü temsil eden tür. Bu bağımsız değişken isteğe bağlıdır ve varsayılan değerdir .
Traits
ostreambuf_iterator için karakter türünü temsil eden tür. Bu bağımsız değişken isteğe bağlıdır ve varsayılan değerdir .
Açıklamalar
Ostreambuf_iterator sınıfının, bir çıkış yineleyici için gereksinimleri karşılaması gerekir. Algoritmalar bir kullanılarak çıkış akışlarına doğrudan yazılabilir. Sınıf, karakterlerin biçimindeki ham (biçimlendirilmemiş) G/Ç akışına erişim sağlayarak düşük düzey bir akış ve üst düzey akış yineleyicilerle ilişkili arabelleğe alma işlemini ve karakter çevirilerini atlama özelliği sağlar.
Oluşturucular
| Oluşturucu | Açıklama |
|---|---|
ostreambuf_iterator |
Çıkış akışına karakter yazmak için başlatılan bir oluşturur. |
Tür tanımları
| Tür adı | Açıklama |
|---|---|
char_type |
öğesinin karakter türünü sağlayan bir tür . |
ostream_type |
akış türü için sağlayan bir tür . |
streambuf_type |
akış türü için sağlayan bir tür . |
traits_type |
karakterinin karakter özellikleri türünü sağlayan bir tür. |
Üye işlevleri
| Üye işlevi | Açıklama |
|---|---|
failed |
Çıkış akışı arabelleğine ekleme hatasını sınar. |
İşleçler
| Operator | Açıklama |
|---|---|
operator* |
Çıkış yineleyici ifadesini uygulamak için kullanılan başvuru kaldırma işleci. |
operator++ |
İşlem çağrılmadan önce ele alındığı nesneye bir döndüren işlevsiz bir artış işleci. |
operator= |
İşleç, ilişkili akış ara belleğine bir karakter ekler. |
Gereksinimler
Üstbilgi:
Ad alanı:
ostreambuf_iterator::char_type
öğesinin karakter türünü sağlayan bir tür .
typedef CharType char_type;
Açıklamalar
türü, şablon parametresi için bir eş anlamlıdır.
Örnek
// 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
Çıkış akışı arabelleğine ekleme hatasını sınar.
bool failed() const throw();
Dönüş Değeri
çıkış akışı arabelleğine daha önce ekleme başarısız olduysa; aksi takdirde .
Açıklamalar
Üye işlevi, çıkış akışı arabelleğine daha önce bir karakter ekleme girişimi başarısız olursa döndürür .
Örnek
// 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*
Çıkış yineleyici ifadesini uygulamak için kullanılan işlev dışı başvuru kaldırma işleci.
ostreambuf_iterator<CharType, Traits>& operator*();
Dönüş Değeri
ostreambuf yineleyici nesnesi.
Açıklamalar
Bu işleç yalnızca çıkış yineleyici ifadesinde akış arabelleğine çıkış karakterleriyle çalışır. bir öğesine uygulanırsa yineleyiciyi döndürür; döndürür .
Örnek
// 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++
İşlem çağrılmadan önce ele alınan karakterin aynısını döndüren işlevsel olmayan bir artış işleci.
ostreambuf_iterator<CharType, Traits>& operator++();
ostreambuf_iterator<CharType, Traits>& operator++(int);
Dönüş Değeri
başlangıçta ele alınan karaktere veya uygulamasına dönüştürülebilen uygulama tanımlı bir nesneye başvuru.
Açıklamalar
işleci, çıkış yineleyici ifadesini uygulamak için kullanılır.
Örnek
// 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=
İşleç, ilişkili akış ara belleğine bir karakter ekler.
ostreambuf_iterator<CharType, Traits>& operator=(CharType _Char);
Parametreler
_Char
Akış arabelleğine eklenecek karakter.
Dönüş Değeri
Akış arabelleğine eklenen karaktere başvuru.
Açıklamalar
Atama işleci, çıkış akışına yazmak için çıkış yineleyici ifadesini uygulamak için kullanılır.
Örnek
// 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
Çıkış akışına karakter yazmak için başlatılan bir oluşturur.
ostreambuf_iterator(streambuf_type* strbuf) throw();
ostreambuf_iterator(ostream_type& Ostr) throw();
Parametreler
strbuf
Çıkış stream-buffer işaretçisini başlatmak için kullanılan çıkış streambuf nesnesi.
Ostr
Çıkış stream-buffer işaretçisini başlatmak için kullanılan çıkış akışı nesnesi.
Açıklamalar
İlk oluşturucu ile çıkış stream-buffer işaretçisini başlatır.
İkinci oluşturucu çıkış stream-buffer işaretçisini * ile başlatır. Depolanan işaretçi null bir işaretçi olmamalıdır.
Örnek
// 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
akış türü için sağlayan bir tür .
typedef basicOstream<CharType, Traits> ostream_type;
Açıklamalar
Türü için bir eş anlamlıdır
Örnek
nasıl bildirilip kullanılacağına ilişkin bir örnek için bkz. .
ostreambuf_iterator::streambuf_type
akış türü için sağlayan bir tür .
typedef basic_streambuf<CharType, Traits> streambuf_type;
Açıklamalar
türü, karakter türüne özel hale geldiğinde olan G/Ç arabellekleri için bir akış sınıfı olan için bir eş anlamlıdır .
Örnek
nasıl bildirilip kullanılacağına ilişkin bir örnek için bkz. .
ostreambuf_iterator::traits_type
karakterinin karakter özellikleri türünü sağlayan bir tür.
typedef Traits traits_type;
Açıklamalar
türü, şablon parametresi için bir eş anlamlıdır.
Örnek
// 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.
Ayrıca bkz.
Yineleyici
C++ Standart Kitaplığında İş Parçacığı Güvenliği
C++ Standart Kitaplığı Başvurusu