Partager via


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

Voir aussi

Référence

istreambuf_iterator Class

Modèles Standard