Sdílet prostřednictvím


binary_negate (STL/CLR)

Popisuje šablony třídy functor, pokud je volána, vrátí logický o své uložené functor argument dvě.Umožňuje určit funkce objektu z hlediska jeho functor uložené.

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

    explicit binary_negate(Fun% functor);
    binary_negate(binary_negate<Arg>% right);

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

Parametry

  • Zábava
    Typ uložených functor.

Členské funkce

Definice typu

Popis

delegate_type

Typ obecného delegáta.

first_argument_type

Typ první argument functor.

result_type

Typ výsledku functor.

second_argument_type

Typ functor druhého argumentu.

stored_function_type

Typ functor.

Člen

Popis

binary_negate

Konstrukce functor.

Operátor

Popis

Operator()

Vypočítá požadované funkce.

operátor delegate_type^()

Vrhá functor pro delegáta.

Poznámky

Třída šablony popisuje functor dvě argument, který ukládá jiný argument dvě functor.Definuje operátor členské operator() tak, že když objekt se nazývá jako funkce, vrátí logický ne uložené functor nazývá se dvěma argumenty.

Objekt můžete také předat jako argument funkce, jejíž typ je delegate_type^ a budou převedeny správně.

Příklad

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

Požadavky

Záhlaví:<cliext, funkční>

Obor názvů: cliext

Viz také

Referenční dokumentace

not2 (STL/CLR)