logical_or (STL/CLR)

La clase de plantilla describe un functor que, cuando se invoca, devuelve true solo si el primer argumento o el segundo prueba como true.Se utiliza especifica un objeto de función en términos del tipo de argumento.

template<typename Arg>
    ref class logical_or
    { // wrap operator()
public:
    typedef Arg first_argument_type;
    typedef Arg second_argument_type;
    typedef bool result_type;
    typedef Microsoft::VisualC::StlClr::BinaryDelegate<
        first_argument_type, second_argument_type, result_type>
        delegate_type;

    logical_or();
    logical_or(logical_or<Arg>% right);

    result_type operator()(first_argument_type left,
        second_argument_type right);
    operator delegate_type^();
    };

Parámetros

  • Argumento
    El tipo de los argumentos.

Funciones miembro

Definición de tipo

Descripción

delegate_type

El tipo de delegado genérico.

first_argument_type

El tipo del primer argumento de functor.

result_type

El tipo de resultado de functor.

second_argument_type

El tipo de argumento de functor segundo.

Miembro

Descripción

logical_or

Construye el functor.

Operador

Descripción

operador ()

Calcula la función deseada.

delegate_type^ de operador

Convierte el functor un delegado.

Comentarios

La clase de plantilla describe un functor de dos argumentos.Define el operador operator() de miembro para que, cuando el objeto se denomina como función, devuelve true solo si el primer argumento o el segundo prueba como true.

También puede pasar el objeto como argumento de la función cuyo tipo es delegate_type^ y se convierte correctamente.

Ejemplo

// cliext_logical_or.cpp 
// compile with: /clr 
#include <cliext/algorithm> 
#include <cliext/functional> 
#include <cliext/vector> 
 
typedef cliext::vector<int> Myvector; 
int main() 
    { 
    Myvector c1; 
    c1.push_back(2); 
    c1.push_back(0); 
    Myvector c2; 
    c2.push_back(0); 
    c2.push_back(0); 
    Myvector c3(2, 0); 
 
// display initial contents " 2 0" and " 0 0" 
    for each (int elem in c1) 
        System::Console::Write(" {0}", elem); 
    System::Console::WriteLine(); 
 
    for each (int elem in c2) 
        System::Console::Write(" {0}", elem); 
    System::Console::WriteLine(); 
 
// transform and display 
    cliext::transform(c1.begin(), c1.begin() + 2, 
        c2.begin(), c3.begin(), cliext::logical_or<int>()); 
    for each (int elem in c3) 
        System::Console::Write(" {0}", elem); 
    System::Console::WriteLine(); 
    return (0); 
    } 
 
  

Requisitos

encabezado: <cliext/funcional>

Cliext deespacio de nombres:

Vea también

Referencia

logical_and (STL/CLR)