Skip to content. Skip to navigation

ICTP Portal

Sections
You are here: Home Manuals on-line PGI Compiler pgC_lib less
Personal tools
Document Actions

less



Click on the banner to return to the class reference home page.

less


Function Object

Summary

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

Data Type and Member Function Indexes
(exclusive of constructors and destructors)

None

Synopsis

#include<functional>

template <class T>
struct less : public binary_function<T, T, bool> ;

Description

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) will contain a "1" if vec1(n) was less than vec2(n) or a "0" if vec1(n) was greater than or equal to vec2(n).

Interface

template <class T>
struct less : 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;
};

Warning

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<int> >

instead of

vector<int>

See Also

binary_function, Function Objects


©Copyright 1996, Rogue Wave Software, Inc.


Powered by Plone This site conforms to the following standards: