Aracılığıyla paylaş


sınıfı

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