Sdílet prostřednictvím


binary_negate (STL/CLR)

Popisuje šablony třídy functor, vrátí při logické o jeho uložené functor dva argument.Použití funkce objektu z hlediska jeho uložené functor určit.

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.

Funkce členů

Definice typu

Description

delegate_type

Typ delegáta obecný.

first_argument_type

Typ functor první argument.

result_type

Typ functor výsledek.

second_argument_type

Typ functor druhý argument.

stored_function_type

Typ functor.

Člen

Description

binary_negate

Konstrukce functor.

Operátor

Description

Operator()

Vypočítá požadované funkce.

operátor delegate_type^()

Vrhá functor delegátovi.

Poznámky

Popisuje šablony třídy functor dva argument, uchovávající jiný argument dvě functor.Definuje operátor členské operator() tak, že když je objekt volat jako funkci, vrátí logické nejsou uložené functor nazývá se dvěma argumenty.

Objekt můžete také předat jako argument funkce, jejichž 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)