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