Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
De klassesjabloon ostream_iterator beschrijft een uitvoer iterator-object dat opeenvolgende elementen naar de uitvoerstroom schrijft met de extractie .
Syntaxis
template <class Type, class CharType = char, class Traits = char_traits <CharType>>
class ostream_iterator
Parameterwaarden
Type
Het type object dat moet worden ingevoegd in de uitvoerstroom.
CharType
Het type dat het tekentype voor de . Dit argument is optioneel en de standaardwaarde is .
Traits
Het type dat het tekentype voor de . Dit argument is optioneel en de standaardwaarde is .*
De ostream_iterator-klasse moet voldoen aan de vereisten voor een uitvoer-iterator. Algoritmen kunnen rechtstreeks naar uitvoerstromen worden geschreven met behulp van een .
Constructeurs
| Constructeur | Beschrijving |
|---|---|
ostream_iterator |
Hiermee maakt u een die is geïnitialiseerd en gescheiden om naar de uitvoerstroom te schrijven. |
Typedefs
| Typenaam | Beschrijving |
|---|---|
char_type |
Een type dat het tekentype van de . |
ostream_type |
Een type dat voorziet in het stroomtype van de . |
traits_type |
Een type dat voorziet in het type karaktereigenschappen van het type . |
Bedieners
| Operator | Beschrijving |
|---|---|
operator* |
Deductieoperator die wordt gebruikt voor het implementeren van de uitvoer-iteratorexpressie . |
operator++ |
Een niet-functionele incrementele operator die een aan hetzelfde object retourneert dat is geadresseerd voordat de bewerking werd aangeroepen. |
operator= |
Toewijzingsoperator die wordt gebruikt voor het implementeren van de uitvoer-iteratorexpressie voor het schrijven naar een uitvoerstroom. |
Requirements
Rubriek:
Naamruimte:
ostream_iterator::char_type
Een type dat het tekentype van de iterator aangeeft.
typedef CharType char_type;
Opmerkingen
Het type is een synoniem voor de sjabloonparameter .
Voorbeeld
// 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;
}
The integers written to the output stream
by intOut are:
10
20
30
ostream_iterator::operator*
Deductieoperator die wordt gebruikt voor het implementeren van de uitvoer-iteratorexpressie .
ostream_iterator<Type, CharType, Traits>& operator*();
Retourwaarde
Een verwijzing naar de .
Opmerkingen
De vereisten voor een uitvoer-iterator waaraan moet worden voldaan, vereisen dat alleen de expressie geldig is en niets over de of de zelfstandigen zegt. De lidoperator in deze implementatie retourneert .
Voorbeeld
// 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;
}
Elements written to output stream:
10
20
30
ostream_iterator::operator++
Een niet-functionele incrementele operator die een aan hetzelfde object retourneert dat is geadresseerd voordat de bewerking werd aangeroepen.
ostream_iterator<Type, CharType, Traits>& operator++();
ostream_iterator<Type, CharType, Traits> operator++(int);
Retourwaarde
Een verwijzing naar de .
Opmerkingen
Deze lidoperators retourneren beide .
Voorbeeld
// 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;
}
Elements written to output stream:
10
20
30
ostream_iterator::operator=
Toewijzingsoperator die wordt gebruikt voor het implementeren van de output_iterator-expressie voor het schrijven naar een uitvoerstroom.
ostream_iterator<Type, CharType, Traits>& operator=(const Type& val);
Parameterwaarden
val
De waarde van het object van het type dat moet worden ingevoegd in de uitvoerstroom.
Retourwaarde
De operator voegt de uitvoerstroom in die is gekoppeld aan het object, gevolgd door het scheidingsteken dat is opgegeven in de (indien van toepassing) en retourneert vervolgens een verwijzing naar de .
Opmerkingen
De vereisten voor een uitvoer-iterator waaraan moet worden voldaan, vereisen dat alleen de expressie geldig is en niets over de operator of de operator= zelf zegt. Deze lidoperator retourneert .
Voorbeeld
// 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;
}
Elements written to output stream:
10
20
30
ostream_iterator::ostream_iterator
Hiermee maakt u een die is geïnitialiseerd en gescheiden om naar de uitvoerstroom te schrijven.
ostream_iterator(ostream_type& _Ostr);
ostream_iterator(
ostream_type& _Ostr,
const CharType* _Delimiter);
Parameterwaarden
_Ostr
De uitvoerstroom van het type die moet worden ge curseerd.
_Delimiter
Het scheidingsteken dat wordt ingevoegd in de uitvoerstroom tussen waarden.
Opmerkingen
De eerste constructor initialiseert de uitvoerstroompointer met . De tekenreeksaanwijzer voor scheidingstekens wijst een lege tekenreeks aan.
De tweede constructor initialiseert de uitvoerstroomaanwijzer met en de tekenreeksaanwijzer met scheidingsteken met .
Voorbeeld
// 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;
}
10
20
Elements output without delimiter: 123456
Elements output with delimiter: 1 : 2 : 3 : 4 : 5 : 6 :
ostream_iterator::ostream_type
Een type dat voorziet in het stroomtype van de iterator.
typedef basic_ostream<CharType, Traits> ostream_type;
Opmerkingen
Het type is een synoniem voor , een stroomklasse van de iostream-hiërarchie waarmee objecten worden gedefinieerd die kunnen worden gebruikt voor schrijven.
Voorbeeld
Zie voor een voorbeeld van hoe u declareert en gebruikt .
ostream_iterator::traits_type
Een type dat voorziet in het type karaktereigenschappen van de iterator.
typedef Traits traits_type;
Opmerkingen
Het type is een synoniem voor de sjabloonparameter .
Voorbeeld
// 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;
}
The integers written to output stream
by intOut are:
1
10
100
Zie ook
<iterator>
Thread Safety in de C++-standaardbibliotheek
Naslaginformatie over standaardbibliotheek voor C++