Freigeben über


logical_not Struct

Die Struktur bietet ein vordefiniertes Funktionsobjekt, das die logische Operation der Negation für Elemente eines angegebenen Werttyps ausführt und für die Richtigkeit oder die Falschheit des Ergebnisses testet.

template<class Type>
   struct logical_not : public unary_function<Type, bool> 
   {
      bool operator()(
         const Type& _Left
      ) const;
   };

Parameter

  • _Left
    Der Operand des Typs Typ in der zu testenden Negation.

Rückgabewert

true wenn und nur dann _Leftfalse ist; false wenn und nur dann _Lefttrue. ist

Beispiel

// 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;
}
  

Anforderungen

Header: <functional>

Namespace: std

Siehe auch

Referenz

Threadsicherheit in der C++-Standardbibliothek

Standardvorlagenbibliothek