logical_or Struct
Die Struktur bietet ein vordefiniertes Funktionsobjekt, das die logische Operation der Trennung für Elemente eines angegebenen Werttyps ausführt und für die Richtigkeit oder die Falschheit des Ergebnisses testet.
template<class Type>
struct logical_or : public binary_function<Type, Type, bool>
{
bool operator()(
const Type& _Left,
const Type& _Right
) const;
};
Parameter
_Left
Der linke Operand des Typs Typ in der zu testenden Trennung._Right
Der rechte Operand des Typs Typ in der zu testenden Trennung.
Rückgabewert
true, wenn _Lefttrue oder _Right ist, ist true; false wenn und nur dann _Left ist, false und _Right ist false.
Beispiel
// functional_logical_or.cpp
// compile with: /EHsc
#include <deque>
#include <algorithm>
#include <functional>
#include <iostream>
int main( )
{
using namespace std;
deque <bool> d1, d2, d3( 7 );
deque <bool>::iterator iter1, iter2, iter3;
int i;
for ( i = 0 ; i < 7 ; i++ )
{
d1.push_back((bool)((rand() % 2) != 0));
}
int j;
for ( j = 0 ; j < 7 ; j++ )
{
d2.push_back((bool)((rand() % 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;
cout << "Original deque:\n d2 = ( " ;
for ( iter2 = d2.begin( ) ; iter2 != d2.end( ) ; iter2++ )
cout << *iter2 << " ";
cout << ")" << endl;
// To find element-wise disjunction of the truth values
// of d1 & d2, use the logical_or function object
transform( d1.begin( ), d1.end( ), d2.begin( ),
d3.begin( ), logical_or<bool>( ) );
cout << "The deque which is the disjuction of d1 & d2 is:\n d3 = ( " ;
for ( iter3 = d3.begin( ) ; iter3 != d3.end( ) ; iter3++ )
cout << *iter3 << " ";
cout << ")" << endl;
}
Anforderungen
Header: <functional>
Namespace: std