Sdílet prostřednictvím


binder1st (STL/CLR)

Popisuje šablony třídy functor jeden argument, který při volání, vrátí jeho uložené dvěma argument functor volána s jeho první argument uložené a druhý argument zadaný.Použití funkce objektu z hlediska jeho uložené functor určit.

template<typename Fun>
    ref class binder1st
    { // 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 typename Fun:result_type result_type;
    typedef Microsoft::VisualC::StlClr::UnaryDelegate<
        second_argument_type, result_type>
        delegate_type;

    binder1st(Fun% functor, first_argument_type left);
    binder1st(binder1st<Arg>% right);

    result_type operator()(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

binder1st

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 jeden argument, uchovávající functor argument dvě první argument.Definuje operátor členské operator() tak, že když je objekt volat jako funkci, vrátí výsledek volání uložené functor uložené prvního argumentu a dodaná druhý argument.

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

Příklad

// cliext_binder1st.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 c3(2, 0); 
 
// display initial contents " 4 3" 
    for each (int elem in c1) 
        System::Console::Write(" {0}", elem); 
    System::Console::WriteLine(); 
 
// transform and display 
    cliext::minus<int> sub_op; 
    cliext::binder1st<cliext::minus<int> > subfrom3(sub_op, 3); 
 
    cliext::transform(c1.begin(), c1.begin() + 2, c3.begin(), 
        subfrom3); 
    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, c3.begin(), 
        bind1st(sub_op, 3)); 
    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

bind1st (STL/CLR)