Partager via


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

Voir aussi

Référence

Sécurité des threads dans la bibliothèque C++ standard

Modèles Standard