Partager via


exécutez négative (STL/CLR)

La classe du modèle décrit un functor qui, lorsqu'il est appelé, retourne la négation de son argument. Vous l'utilisez pour spécifier un objet fonction au niveau de son type d'argument.

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

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

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

Paramètres

  • Arg
    Type des arguments.

Fonctions membres

Définition de type

Description

type d'argument

Type de l'argument du foncteur.

delegate_type

Le type du délégué générique.

result_type

Le type du résultat du foncteur.

Membre

Description

negate

Construit le foncteur.

Opérateur

Description

() (opérateur)

Calcule la fonction souhaitée.

operator delegate_type^

Convertit le foncteur en un délégué.

Notes

La classe du modèle décrit un foncteur à un argument. Elle définit l'opérateur membre operator() afin que, lorsque l'objet est appelé en tant que fonction, elle renvoie la négation de son argument.

Vous pouvez également transmettre l'objet comme argument de fonction dont le type est delegate_type^ et il sera converti de façon appropriée.

Exemple

// cliext_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(-3); 
    Myvector c3(2, 0); 
 
// display initial contents " 4 -3" 
    for each (int elem in c1) 
        System::Console::Write(" {0}", elem); 
    System::Console::WriteLine(); 
 
// transform and display 
    cliext::transform(c1.begin(), c1.begin() + 2, 
        c3.begin(), cliext::negate<int>()); 
    for each (int elem in c3) 
        System::Console::Write(" {0}", elem); 
    System::Console::WriteLine(); 
    return (0); 
    } 
 
  

Configuration requise

En-tête : <cliext/functional>

Espace de noms cliext

Voir aussi

Référence

logical_not (STL/CLR)