istreambuf_iterator::equal
Tests pour l'équivalence entre deux itérateurs de mémoire tampon de flux d'entrée.
bool equal(
const istreambuf_iterator<CharType, Traits>& _Right
) const;
Paramètres
- _Right
L'itérateur pour lequel vérifie l'égalité.
Valeur de retour
true si les deux istreambuf_iterators sont des itérateurs de fin de flux ou si aucune n'est un itérateur de fin de flux ; sinon false.
Notes
Une plage est défini par istreambuf_iterator à la position actuelle et l'itérateur de fin de flux, mais puisque tous les itérateurs non-END- stream sont équivalents dans la fonction membre de est égal à , il est impossible de ne pas définir subranges à l'aide de istreambuf_iteratorS.Les opérateurs d' == et d' != ont la même sémantique.
Exemple
// istreambuf_iterator_equal.cpp
// compile with: /EHsc
#include <iterator>
#include <iostream>
int main( )
{
using namespace std;
cout << "(Try the example: 'Hello world!'\n"
<< " then an Enter key to insert into the output,\n"
<< " & use a ctrl-Z Enter key combination to exit): ";
istreambuf_iterator<char> charReadIn1 ( cin );
istreambuf_iterator<char> charReadIn2 ( cin );
bool b1 = charReadIn1.equal ( charReadIn2 );
if (b1)
cout << "The iterators are equal." << endl;
else
cout << "The iterators are not equal." << endl;
}
Hello world !
Hello world ! (Essayez l'exemple : « Hello world ! » puis une touche ENTRÉE à insérer dans la sortie, et pour utiliser une combinaison de touches CTRL Entrée (z pour quitter) : Hello world ! Les itérateurs sont égaux.
Configuration requise
en-tête : <iterator>
l'espace de noms : DST