Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
La classe de modèle décrit un functor qui, lorsqu'elle est appelée, retourne son argument exécuté négative.Vous utilisez spécifiez un objet de fonction en termes 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
Le type des arguments.
Fonctions membres
Définition de type |
Description |
|---|---|
argument_type |
Le type de l'argument de functor. |
delegate_type |
Le type du délégué générique. |
result_type |
Le type du résultat de functor. |
Membre |
Description |
|---|---|
exécutez une inversion |
Construit le functor. |
Opérateur |
Description |
|---|---|
operator() |
Calcule la fonction souhaitée. |
delegate_type^ d'opérateur |
Effectue un cast du functor à un délégué. |
Notes
La classe de modèle décrit un functor d'un.Il définit l'opérateur membre operator() afin que, lorsque l'objet est appelé comme fonction, il retourne son argument exécuté négative.
Vous pouvez également passer l'objet comme argument de fonction dont le type est delegate_type^ et il sera converti en conséquence.
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/fonctionnel>
Cliext del'espace de noms :