Top of document
©Copyright 1999 Rogue Wave Software

greater


     Function Object

Summary

Binary function object that returns true if its first argument is greater than its second.

Contents

Synopsis

#include <functional>
template <class T>
struct greater : 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;
};

Description

greater is a binary function object. Its operator() returns true if x is greater than y. You can pass a greater 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. greater 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(), greater<int>());

After this call to transform, vecResult(n) will contain a "1" if vec1(n) was greater than vec2(n) or a "0" if vec1(n) was less than or equal to vec2(n).

Warnings

If your compiler does not support default template parameters, then you need to always supply the Allocator template argument. For instance, you'll have to write :

vector<int, allocator>

instead of

vector<int>

See Also

Function Objects


Top of document