equal
Sintaxis:
#include <algorithm> bool equal( input_iterator inicio1, input_iterator fin1, input_iterator2 inicio2 ); bool equal( input_iterator inicio1, input_iterator fin1, input_iterator2 inico2, BinPred igualdad );
La función equal compara elemento a elemento dos rangos, uno empezando en inicio1 y el otro empezando en inicio2, con la misma cantidad de elementos, y devuelve verdadero si son iguales, o falso si no. En otras palabras, equal retorna verdadero si y sólo si:
*inicio1 == *inicio2 *(inicio1+1) == *(inicio2+1) *(inicio1+2) == *(inicio2+2) ... *(inicio1+N) == *(inicio2+N)
Una alternativa con un predicado binario igual es provista para ser usada en vez del operador de igualdad ( == ) para comparar cada par de elementos.
Como ejemplo, este código usa equal para comparar dos vectores de enteros:
vector<int> v1; for( int i = 0; i < 10; i++ ) { v1.push_back( i ); } vector<int> v2; for( int i = 0; i < 10; i++ ) { v2.push_back( i ); } if( equal( v1.begin(), v1.end(), v2.begin() ) ) { cout << "v1 y v2 son iguales" << endl; } else { cout << "v1 y v2 NO son iguales" << endl; }
Cuando es provisto, igualdad es un predicado binario con la forma funcional: igualdad (T t1, T t2) → bool.
mismatch es una función relacionada que determina dónde difieren dos rangos si es que no son iguales.
Tópicos Relacionados: find_if, lexicographical_compare, mismatch, search