Function Object
A binary function object that returns true if its first argument is less than its second.
None
#include<functional> template <class T> struct less : public binary_function<T, T, bool>;
less is a binary function object. Its operator() returns true if x is less than y. You can pass a less 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 of the function. less 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(), less<int>());
After this call to transform, vecResult(n) contains a 1 if vec1(n) was less than vec2(n) or a 0 if vec1(n) was greater than or equal to vec2(n).
template <class T> struct less : binary_function<T, T, bool> { bool operator() (const T&, const T&) const; };
If your compiler does not support default template parameters, then you always need to supply the Allocator template argument. For instance, you have to write:
vector<int, allocator<int> >
instead of
vector<int>
If your compiler does not support namespaces, then you do not need the using declaration for std.
binary_function, Function Objects