unary_negate (STL/CLR)

La clase de plantilla describe un functor que, cuando se invoca, devuelve la negación lógica de su functor almacenado de uno-argumento.Se utiliza especifica un objeto de función en términos de su functor almacenado.

template<typename Fun>
    ref class unary_negate
    { // wrap operator()
public:
    typedef Fun stored_function_type;
    typedef typename Fun::argument_type argument_type;
    typedef bool result_type;
    typedef Microsoft::VisualC::StlClr::UnaryDelegate<
        argument_type, result_type>
        delegate_type;

    unary_negate(Fun% functor);
    unary_negate(unary_negate<Fun>% right);

    result_type operator()(argument_type left);
    operator delegate_type^();
    };

Parámetros

  • Debería
    El tipo de functor almacenado.

Funciones miembro

Definición de tipo

Descripción

argument_type

El tipo de argumento de functor.

delegate_type

El tipo de delegado genérico.

result_type

El tipo de resultado de functor.

Miembro

Descripción

unary_negate

Construye el functor.

Operador

Descripción

operador ()

Calcula la función deseada.

delegate_type^

Convierte el functor un delegado.

Comentarios

La clase de plantilla describe un functor de uno-argumento que almacena otro functor de uno-argumento.Define el operador operator() de miembro para que, cuando el objeto se denomina como función, devuelve la negación lógica de functor almacenado denominado con el argumento.

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

Ejemplo

// cliext_unary_negate.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(4); 
    c1.push_back(0); 
    Myvector c3(2, 0); 
 
// display initial contents " 4 0" 
    for each (int elem in c1) 
        System::Console::Write(" {0}", elem); 
    System::Console::WriteLine(); 
 
// transform and display 
    cliext::logical_not<int> not_op; 
 
    cliext::transform(c1.begin(), c1.begin() + 2, c3.begin(), 
        cliext::unary_negate<cliext::logical_not<int> >(not_op)); 
    for each (int elem in c3) 
        System::Console::Write(" {0}", elem); 
    System::Console::WriteLine(); 
 
// transform and display with function 
    cliext::transform(c1.begin(), c1.begin() + 2, c3.begin(), 
        cliext::not1(not_op)); 
    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

not1 (STL/CLR)