logical_not (STL/CLR)
La classe du modèle décrit un foncteur qui, lorsqu'il est appelé, renvoie true uniquement si l'un de ses arguments a la valeur false. Vous l'utilisez pour spécifier un objet fonction au niveau de son type d'argument.
template<typename Arg>
ref class logical_not
{ // wrap operator()
public:
typedef Arg argument_type;
typedef bool result_type;
typedef Microsoft::VisualC::StlClr::UnaryDelegate<
argument_type, result_type>
delegate_type;
logical_not();
logical_not(logical_not<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 premier argument du résultat du foncteur. |
Membre |
Description |
---|---|
logical_not |
Construit le functor. |
Opérateur |
Description |
---|---|
operator() |
Calcule la fonction souhaitée. |
opérateur delegate_type^ |
Convertit le functor 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 retourne true si les arguments valent false.
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_logical_not.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::transform(c1.begin(), c1.begin() + 2,
c3.begin(), cliext::logical_not<int>());
for each (int elem in c3)
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
return (0);
}
Configuration requise
Header: <cliext/functional>
Espace de noms : cliext