Function Object
Binary function object that returns true if its first argument equals its second
#include <functional>
template <class T> struct equal_to;
equal_to is a binary function object. Its operator() returns true if x is equal to y. You can pass an equal_to object to any algorithm that requires a binary function. For example, the transform algorithm applies a binary operation to corresponding values in two collections and stores the result. equal_to would be used in that algorithm in the following manner:
vector<int> vec1;
vector<int> vec2; vector<int> vecResult; . . . transform(vec1.begin(), vec1.end(), vec2.begin(), vecResult.begin(), equal_to<int>());
After this call to transform, vecResult(n) will contain a "1" if vec1(n) was equal to vec2(n) or a "0" if vec1(n) was not equal to vec2(n).
template <class T>
struct equal_to : binary_function<T, T, bool> { typedef typename binary_function<T, T, bool>::second_argument_type second_argument_type; typedef typename binary_function<T, T, bool>::first_argument_type first_argument_type; typedef typename binary_function<T, T, bool>::result_type result_type; bool operator() (const T&, const T&) const; };
binary_function, Function Objects