Compartir a través de


less_equal Struct

Un predicado binario que prueba si un valor es de un tipo especificado menor o igual que otro valor de ese tipo.

template<class Type>
   struct less_equal : public binary_function <Type, Type, bool> 
   {
      bool operator()(
         const Type& _Left, 
         const Type& _Right
      ) const;
   };

Parámetros

  • _Left
    El operando izquierdo de tipo escrito en la desigualdad que se va a probar.

  • _Right
    El operando derecho de tipo escrito en la desigualdad que se va a probar.

Valor devuelto

true si _Left <= _Right; false si _Left > _Right.

Comentarios

El predicado binario less_equal<tipo> proporciona ordenación parcial estricta de un conjunto de valores de elementos de tipo escrito en clases de equivalencia si y solo si este tipo cumple los requisitos matemáticos estándar para se puede ordenada.Especializaciones para cualquier tipo de puntero de clasificación total de elementos en que todos los elementos de valores distintos están ordenados en sí.

Ejemplo

// functional_less_equal.cpp
// compile with: /EHsc
#define _CRT_RAND_S
#include <stdlib.h>
#include <vector>
#include <algorithm>
#include <functional>
#include <cstdlib>
#include <iostream>

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

   int i;
   for ( i = 0 ; i < 5 ; i++ )
   {
      if ( rand_s( &randomNumber ) == 0 )
      {
         // Convert the random number to be between 1 - 50000
         // This is done for readability purposes
         randomNumber = ( unsigned int) ((double)randomNumber / 
            (double) UINT_MAX * 50000) + 1;

         v1.push_back( randomNumber );
      }
   }
   for ( i = 0 ; i < 3 ; i++ )
   {
      v1.push_back( 2836 );
   }

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

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

Resultados del ejemplo

Original vector v1 = ( 31247 37154 48755 15251 6205 2836 2836 2836 )
Sorted vector v1 = ( 2836 2836 2836 6205 15251 31247 37154 48755 )

Requisitos

encabezado: <funcional>

espacio de nombres: std

Vea también

Referencia

Biblioteca de plantillas estándar