modulus (STL/CLR)
Popisuje šablony třídy functor, pokud je volána, vrátí první argument modulo druhý.Umožňuje určit funkce jako svůj argument typ objektu.
template<typename Arg>
ref class modulus
{ // wrap operator()
public:
typedef Arg first_argument_type;
typedef Arg second_argument_type;
typedef Arg result_type;
typedef Microsoft::VisualC::StlClr::BinaryDelegate<
first_argument_type, second_argument_type, result_type>
delegate_type;
modulus();
modulus(modulus<Arg>% right);
result_type operator()(first_argument_type left,
second_argument_type right);
operator delegate_type^();
};
Parametry
- Arg
Typ argumenty a vrácené hodnoty.
Č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. |
Člen |
Popis |
---|---|
modulus |
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 dvě argument functor.Definuje operátor členské operator() tak, že když objekt se nazývá jako funkce, vrátí první argument modulo druhý.
Objekt můžete také předat jako argument funkce, jejíž typ je delegate_type^ a budou převedeny správně.
Příklad
// cliext_modulus.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(2);
Myvector c2;
c2.push_back(3);
c2.push_back(1);
Myvector c3(2, 0);
// display initial contents " 4 2" and " 3 1"
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::transform(c1.begin(), c1.begin() + 2,
c2.begin(), c3.begin(), cliext::modulus<int>());
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