Compartilhar via


greater_equal Struct

Um predicado binário que testa se um valor de um tipo especificado é maior ou igual a outro valor do tipo.

template<class Type>
   struct greater_equal : 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 >= _Rightde _Left ; false se _Left < _Right.

Comentários

O predicado binário greater_equal<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_greater_equal.cpp
// compile with: /EHsc
#include <vector>
#include <algorithm>
#include <functional>
#include <cstdlib>
#include <iostream>

int main( )
{
   using namespace std;
   vector <int> v1;
   vector <int>::iterator Iter1;

   int i;
   v1.push_back( 6262 );
   v1.push_back( 6262 );
   for ( i = 0 ; i < 5 ; i++ )
   {
      v1.push_back( rand( ) );
   }

   cout << "Original vector v1 = ( " ;
   for ( Iter1 = v1.begin( ) ; Iter1 != v1.end( ) ; Iter1++ )
      cout << *Iter1 << " ";
   cout << ")" << endl;

   // To sort in ascending order,
   // use default binary predicate less<int>( )
   sort( v1.begin( ), v1.end( ) );
   cout << "Sorted vector v1 = ( " ;
   for ( Iter1 = v1.begin( ) ; Iter1 != v1.end( ) ; Iter1++ )
      cout << *Iter1 << " ";
   cout << ")" << endl;

   // To sort in descending order, 
   // specify binary predicate greater_equal<int>( )
   sort( v1.begin( ), v1.end( ), greater_equal<int>( ) );
   cout << "Resorted vector v1 = ( " ;
   for ( Iter1 = v1.begin( ) ; Iter1 != v1.end( ) ; Iter1++ )
      cout << *Iter1 << " ";
   cout << ")" << endl;
}

Saída

Original vector v1 = ( 6262 6262 41 18467 6334 26500 19169 )
Sorted vector v1 = ( 41 6262 6262 6334 18467 19169 26500 )
Resorted vector v1 = ( 26500 19169 18467 6334 6262 6262 41 )

Requisitos

Cabeçalho: <functional>

namespace: STD

Consulte também

Referência

Standard Template Library