logical_and (STL/CLR)

La classe de modèle décrit un functor qui, lorsqu'elle est appelée, retourne la valeur true uniquement si le premier argument et le deuxième test comme true.Vous utilisez spécifiez un objet de fonction en termes de son type d'argument.

template<typename Arg>
    ref class logical_and
    { // wrap operator()
public:
    typedef Arg first_argument_type;
    typedef Arg second_argument_type;
    typedef bool result_type;
    typedef Microsoft::VisualC::StlClr::BinaryDelegate<
        first_argument_type, second_argument_type, result_type>
        delegate_type;

    logical_and();
    logical_and(logical_and<Arg>% right);

    result_type operator()(first_argument_type left,
        second_argument_type right);
    operator delegate_type^();
    };

Paramètres

  • Arg
    Le type des arguments.

Fonctions membres

Définition de type

Description

delegate_type

Le type du délégué générique.

first_argument_type

Le type du premier argument de functor.

result_type

Le type du résultat de functor.

second_argument_type

Le type de l'argument de functor deuxième.

Membre

Description

logical_and

Construit le functor.

Opérateur

Description

operator()

Calcule la fonction souhaitée.

delegate_type^ d'opérateur

Effectue un cast du functor à un délégué.

Notes

La classe de modèle décrit un functor à deux arguments.Il définit l'opérateur membre operator() afin que, lorsque l'objet est appelé comme fonction, il retourne la valeur true uniquement si le premier argument et le deuxième test comme true.

Vous pouvez également passer l'objet comme argument de fonction dont le type est delegate_type^ et il sera converti en conséquence.

Exemple

// cliext_logical_and.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(2); 
    c1.push_back(0); 
    Myvector c2; 
    c2.push_back(3); 
    c2.push_back(0); 
    Myvector c3(2, 0); 
 
// display initial contents " 1 0" and " 1 0" 
    for each (int elem in c1) 
        System::Console::Write(" {0}", elem); 
    System::Console::WriteLine(); 
 
    for each (int elem in c2) 
        System::Console::Write(" {0}", elem); 
    System::Console::WriteLine(); 
 
// transform and display 
    cliext::transform(c1.begin(), c1.begin() + 2, 
        c2.begin(), c3.begin(), cliext::logical_and<int>()); 
    for each (int elem in c3) 
        System::Console::Write(" {0}", elem); 
    System::Console::WriteLine(); 
    return (0); 
    } 
 
  

Configuration requise

en-tête :<cliext/fonctionnel>

Cliext del'espace de noms :

Voir aussi

Référence

logical_or (STL/CLR)