bind2nd (STL/CLR)
Genera binder2nd per un argomento e un functor.
template<typename Fun,
typename Arg>
binder2nd<Fun> bind2nd(Fun% functor,
Arg right);
Parametri di template
Argomento
Tipo dell'argomento.Divertente
Il tipo di functor.
Parametri di funzione
functor
Il functor di cui eseguire il wrapping.right
Il secondo argomento per eseguire il wrapping.
Note
La funzione di modello restituisce binder2nd (STL/CLR)<Fun>(functor, right).Utilizzarla come modo pratico per eseguire il wrapping di un functor a due argomenti e il secondo argomento in un functor dell'un-argomento chiamate con un primo argomento.
Esempio
// cliext_bind2nd.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::binder2nd<cliext::minus<int> > sub4(sub_op, 4);
cliext::transform(c1.begin(), c1.begin() + 2, c3.begin(),
sub4);
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(),
bind2nd(sub_op, 4));
for each (int elem in c3)
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
return (0);
}
Requisiti
intestazione: <cliext/funzionale>
Cliext diSpazio dei nomi: