Aracılığıyla paylaş


ostream_iterator Sınıfı

Sınıf şablonu ostream_iterator ayıklama operator <<ile çıkış akışına ardışık öğeler yazan bir çıkış yineleyici nesnesi açıklar.

Sözdizimi

template <class Type class CharType = char class Traits = char_traits <CharType>>
class ostream_iterator

Parametreler

Tür
Çıkış akımına eklenecek nesnenin türü.

CharType
için ostream_iteratorkarakter 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 char.

Özellik
için ostream_iteratorkarakter türünü temsil eden tür. Bu bağımsız değişken isteğe bağlıdır ve varsayılan değer CharType'tırchar_traits<>.

Ostream_iterator sınıfının, bir çıkış yineleyici için gereksinimleri karşılaması gerekir. Algoritmalar bir kullanılarak ostream_iteratorçıkış akışlarına doğrudan yazılabilir.

Oluşturucular

Oluşturucu Açıklama
ostream_iterator Çıkış akışına yazmak için başlatılan ve sınırlandırılmış bir ostream_iterator oluşturur.

Tür tanımları

Tür adı Açıklama
char_type öğesinin karakter türünü sağlayan bir tür ostream_iterator.
ostream_type akış türü için sağlayan bir tür ostream_iterator.
traits_type karakterinin karakter özellikleri türünü sağlayan bir ostream_iteratortür.

İşleçler

Operator Açıklama
operatör* Çıkış yineleyici ifadesini * i = xuygulamak için kullanılan başvuru kaldırma işleci.
operator++ İşlem çağrılmadan önce ele alındığı nesneye bir ostream_iterator döndüren işlevsiz bir artış işleci.
operator= Çıkış akışına yazmak için çıkış yineleyici ifadesini * i = x uygulamak için kullanılan atama işleci.

Gereksinimler

Üst bilgi:<yineleyici>

Ad alanı: std

ostream_iterator::char_type

Yineleyicinin karakter türünü sağlayan bir tür.

typedef CharType char_type;

Açıklamalar

türü, şablon parametresi CharTypeiçin bir eş anlamlıdır.

Örnek

// ostream_iterator_char_type.cpp
// compile with: /EHsc
#include <iterator>
#include <vector>
#include <iostream>

int main( )
{
   using namespace std;

   typedef ostream_iterator<int>::char_type CHT1;
   typedef ostream_iterator<int>::traits_type CHTR1;

   // ostream_iterator for stream cout
   // with new line delimiter:
    ostream_iterator<int, CHT1, CHTR1> intOut ( cout , "\n" );

   // Standard iterator interface for writing
   // elements to the output stream:
   cout << "The integers written to the output stream\n"
        << "by intOut are:" << endl;
*intOut = 10;
*intOut = 20;
*intOut = 30;
}
/* Output:
The integers written to the output stream
by intOut are:
10
20
30
*/

ostream_iterator::operator*

Çıkış yineleyici ifadesini uygulamak için kullanılan başvuru kaldırma işleci * ii = x.

ostream_iterator<Type, CharType, Traits>& operator*();

Dönüş Değeri

öğesine bir ostream_iteratorbaşvuru.

Açıklamalar

Yerine getirmesi gereken bir çıkış yineleyicisinin ostream_iterator gereksinimleri yalnızca * ii = geçerli olamaz ve veya operator= ile ilgili operator hiçbir şey söylemiyor. Bu uygulamadaki üye işleci döndürür *this.

Örnek

// ostream_iterator_op_deref.cpp
// compile with: /EHsc
#include <iterator>
#include <vector>
#include <iostream>

int main( )
{
   using namespace std;

   // ostream_iterator for stream cout
   // with new line delimiter
   ostream_iterator<int> intOut ( cout , "\n" );

   // Standard iterator interface for writing
   // elements to the output stream
   cout << "Elements written to output stream:" << endl;
*intOut = 10;
   intOut++;      // No effect on iterator position
*intOut = 20;
*intOut = 30;
}
/* Output:
Elements written to output stream:
10
20
30
*/

ostream_iterator::operator++

İşlem çağrılmadan önce ele alındığı nesneye bir ostream_iterator döndüren işlevsiz bir artış işleci.

ostream_iterator<Type, CharType, Traits>& operator++();
ostream_iterator<Type, CharType, Traits> operator++(int);

Dönüş Değeri

öğesine bir ostream_iteratorbaşvuru.

Açıklamalar

Bu üye işleçlerin her ikisi de döndürür *this.

Örnek

// ostream_iterator_op_incr.cpp
// compile with: /EHsc
#include <iterator>
#include <vector>
#include <iostream>

int main( )
{
   using namespace std;

   // ostream_iterator for stream cout
   // with new line delimiter
   ostream_iterator<int> intOut ( cout , "\n" );

   // standard iterator interface for writing
   // elements to the output stream
   cout << "Elements written to output stream:" << endl;
*intOut = 10;
   intOut++;      // No effect on iterator position
*intOut = 20;
*intOut = 30;
}
/* Output:
Elements written to output stream:
10
20
30
*/

ostream_iterator::operator=

Çıkış akışına yazmak için * i = x output_iterator ifadesini uygulamak için kullanılan atama işleci.

ostream_iterator<Type, CharType, Traits>& operator=(const Type& val);

Parametreler

Val
Çıkış akışına eklenecek türündeki Type nesnenin değeri.

Dönüş Değeri

işleci nesneyle ilişkilendirilmiş çıkış akışına val ekler, ardından ostream_iterator oluşturucusunda belirtilen sınırlayıcıyı (varsa) ve sonra öğesine ostream_iteratorbir başvuru döndürür.

Açıklamalar

Yerine getirmesi gereken bir çıkış yineleyicisinin ostream_iterator gereksinimleri yalnızca * ii = t ifadesinin geçerli olmasını gerektirir ve işleç veya işleç= hakkında tek başına hiçbir şey söylemiyor. Bu üye işleci döndürür *this.

Örnek

// ostream_iterator_op_assign.cpp
// compile with: /EHsc
#include <iterator>
#include <vector>
#include <iostream>

int main( )
{
   using namespace std;

   // ostream_iterator for stream cout
   // with new line delimiter
   ostream_iterator<int> intOut ( cout , "\n" );

   // Standard iterator interface for writing
   // elements to the output stream
   cout << "Elements written to output stream:" << endl;
*intOut = 10;
   intOut++;      // No effect on iterator position
*intOut = 20;
*intOut = 30;
}
/* Output:
Elements written to output stream:
10
20
30
*/

ostream_iterator::ostream_iterator

Çıkış akışına yazmak için başlatılan ve sınırlandırılmış bir ostream_iterator oluşturur.

ostream_iterator(
    ostream_type& _Ostr);

ostream_iterator(
    ostream_type& _Ostr,
    const CharType* _Delimiter);

Parametreler

_Ostr
Yinelenecek ostream_iterator::ostream_type türünde çıkış akışı.

_Sınırlayıcı
Değerler arasında çıkış akışına eklenen sınırlayıcı.

Açıklamalar

İlk oluşturucu, çıkış akışı işaretçisini ile &_Ostrbaşlatır. Sınırlayıcı dize işaretçisi boş bir dizeyi gösterir.

İkinci oluşturucu, çıkış akışı işaretçisini ile &_Ostr ve sınırlayıcı dize işaretçisini _Delimiter ile başlatır.

Örnek

// ostream_iterator_ostream_iterator.cpp
// compile with: /EHsc
#include <iterator>
#include <vector>
#include <iostream>

int main( )
{
   using namespace std;

   // ostream_iterator for stream cout
   ostream_iterator<int> intOut ( cout , "\n" );
*intOut = 10;
   intOut++;
*intOut = 20;
   intOut++;

   int i;
   vector<int> vec;
   for ( i = 1 ; i < 7 ; ++i )
   {
      vec.push_back (  i );
   }

   // Write elements to standard output stream
   cout << "Elements output without delimiter: ";
   copy ( vec.begin ( ), vec.end ( ),
          ostream_iterator<int> ( cout ) );
   cout << endl;

   // Write elements with delimiter " : " to output stream
   cout << "Elements output with delimiter: ";
   copy ( vec.begin ( ), vec.end ( ),
          ostream_iterator<int> ( cout, " : " ) );
   cout << endl;
}
/* Output:
10
20
Elements output without delimiter: 123456
Elements output with delimiter: 1 : 2 : 3 : 4 : 5 : 6 :
*/

ostream_iterator::ostream_type

Yineleyicinin akış türünü sağlayan bir tür.

typedef basic_ostream<CharType, Traits> ostream_type;

Açıklamalar

türü,> yazmak için kullanılabilecek nesneleri tanımlayan iostream hiyerarşisinin bir akış sınıfı olan basic_ostream<CharType için bir eş anlamlıdır. Traits

Örnek

bildirme ve kullanma ostream_typeörneği için bkz. ostream_iterator.

ostream_iterator::traits_type

Yineleyicinin karakter özellikleri türünü sağlayan bir tür.

typedef Traits traits_type;

Açıklamalar

türü, şablon parametresi Traitsiçin bir eş anlamlıdır.

Örnek

// ostream_iterator_traits_type.cpp
// compile with: /EHsc
#include <iterator>
#include <vector>
#include <iostream>

int main( )
{
   using namespace std;

   // The following not OK, but are just the default values:
   typedef ostream_iterator<int>::char_type CHT1;
   typedef ostream_iterator<int>::traits_type CHTR1;

   // ostream_iterator for stream cout
   // with new line delimiter:
    ostream_iterator<int, CHT1, CHTR1> intOut ( cout , "\n" );

   // Standard iterator interface for writing
   // elements to the output stream:
   cout << "The integers written to output stream\n"
        << "by intOut are:" << endl;
*intOut = 1;
*intOut = 10;
*intOut = 100;
}
/* Output:
The integers written to output stream
by intOut are:
1
10
100
*/

Ayrıca bkz.

<Yineleyici>
C++ Standart Kitaplığında İş Parçacığı Güvenliği
C++ Standart Kitaplığı Başvurusu