less Struct
Um predicado binário que testa se um valor de um tipo especificado é menor que outro valor do tipo.
template<class Type>
struct less : public binary_function <Type, Type, bool>
{
bool operator()(
const Type& _Left,
const Type& _Right
) const;
};
Parâmetros
_Left
O operando esquerdo do tipo Tipo em desigualdade a ser testada._Right
O operando à direita do tipo Tipo em desigualdade a ser testada.
Valor de retorno
true se _Left < _Right; false se >= _Rightde _Left .
Comentários
O predicado binário less<Tipo> fornece ordenação fraco restrito de um conjunto de valores de elemento de tipo Tipo em classes de equivalência se e somente se este Tipo satisfaz os requisitos matemáticos padrão para ser assim ordenada.As especializações para qualquer tipo ponteiro produzem ordenação total de elementos que todos os elementos distintos de valores são ordenados em relação a se.
Exemplo
// functional_less.cpp
// compile with: /EHsc
#include <vector>
#include <algorithm>
#include <functional>
#include <iostream>
struct MyStruct {
MyStruct(int i) : m_i(i){}
bool operator < (const MyStruct & rhs) const {
return m_i < rhs.m_i;
}
int m_i;
};
int main() {
using namespace std;
vector <MyStruct> v1;
vector <MyStruct>::iterator Iter1;
vector <MyStruct>::reverse_iterator rIter1;
int i;
for ( i = 0 ; i < 7 ; i++ )
v1.push_back( MyStruct(rand()));
cout << "Original vector v1 = ( " ;
for ( Iter1 = v1.begin() ; Iter1 != v1.end() ; Iter1++ )
cout << Iter1->m_i << " ";
cout << ")" << endl;
// To sort in ascending order,
sort( v1.begin( ), v1.end( ), less<MyStruct>());
cout << "Sorted vector v1 = ( " ;
for ( Iter1 = v1.begin() ; Iter1 != v1.end() ; Iter1++ )
cout << Iter1->m_i << " ";
cout << ")" << endl;
}
Saída
Original vector v1 = ( 41 18467 6334 26500 19169 15724 11478 )
Sorted vector v1 = ( 41 6334 11478 15724 18467 19169 26500 )
Requisitos
Cabeçalho: <functional>
namespace: STD