logical_not Struct
La structure fournit un objet de fonction prédéfinie qui effectue l'opération logique de la négation sur les éléments d'un type valeur spécifiée et les tests de la vérité ou la fausseté du résultat.
template<class Type>
struct logical_not : public unary_function<Type, bool>
{
bool operator()(
const Type& _Left
) const;
};
Paramètres
- _Left
L'opérande de type Type dans la négation à tester.
Valeur de retour
true si et seulement si _Left est false; false si et seulement si _Left est true.
Exemple
// functional_logical_not.cpp
// compile with: /EHsc
#include <deque>
#include <algorithm>
#include <functional>
#include <iostream>
int main( )
{
using namespace std;
deque<bool> d1, d2 ( 7 );
deque<bool>::iterator iter1, iter2;
int i;
for ( i = 0 ; i < 7 ; i++ )
{
d1.push_back((bool)((i % 2) != 0));
}
cout << boolalpha; // boolalpha I/O flag on
cout << "Original deque:\n d1 = ( " ;
for ( iter1 = d1.begin( ) ; iter1 != d1.end( ) ; iter1++ )
cout << *iter1 << " ";
cout << ")" << endl;
// To flip all the truth values of the elements,
// use the logical_not function object
transform( d1.begin( ), d1.end( ), d2.begin( ),logical_not<bool>( ) );
cout << "The deque with its values negated is:\n d2 = ( " ;
for ( iter2 = d2.begin( ) ; iter2 != d2.end( ) ; iter2++ )
cout << *iter2 << " ";
cout << ")" << endl;
}
Configuration requise
en-tête : <functional>
l'espace de noms : DST