less_equalは最初の引数が2番目の引数より小さいか等しければtrueを返す二項関数オブジェクトです。
less_equalのヘッダーは次のとおりです。
#include <functional>
次の例は、最初の引数が2番目の引数より小さいか等しければtrueを返す二項関数オブジェクトless_equalを使って vectorの中の値を小さい順に並べ替えるプログラムの例です。
#include <algorithm>
#include <vector>
#include <iostream>
#include <functional>
using namespace std;
int main(void)
{
typedef vector<int>::iterator iterator;
int d[] = { 11, 8, 6, 4, 7 };
vector<int> v(d, d + 5);
// コンテナの内容を出力する
ostream_iterator<int, char> out(cout, ",");
cout << "before:" << endl;
copy(v.begin(), v.end(), out);
cout << endl;
sort(v.begin(), v.end(), less_equal<int>());
// 結果を出力する
cout << "after:" << endl;
copy(v.begin(), v.end(), out);
cout << endl;
return 0;
}
実行結果は例えば次のようになります。
before:
11,8,6,4,7,
after:
4,6,7,8,11,