binary_delegate (STL/CLR)
Genereic класс описывает 2 — аргумента делегата. Он используется определить делегат с точки зрения его аргументу и возвращаемых типов.
generic<typename Arg1,
typename Arg2,
typename Result>
delegate Result binary_delegate(Arg1, Arg2);
Параметры
Arg1
Тип первого аргумента.Arg2
Тип второго аргумента.Результат
Возвращаемый тип.
Заметки
Genereic делегат описываются функции — 2 аргументов.
Обратите внимание, что для:
binary_delegate<int, int, int> Fun1;
binary_delegate<int, int, int> Fun2;
типы Fun1 и Fun2 синонимы, а для:
delegate int Fun1(int, int);
delegate int Fun2(int, int);
они не одного типа.
Пример
// cliext_binary_delegate.cpp
// compile with: /clr
#include <cliext/functional>
bool key_compare(wchar_t left, wchar_t right)
{
return (left < right);
}
typedef cliext::binary_delegate<wchar_t, wchar_t, bool> Mydelegate;
int main()
{
Mydelegate^ kcomp = gcnew Mydelegate(&key_compare);
System::Console::WriteLine("compare(L'a', L'a') = {0}",
kcomp(L'a', L'a'));
System::Console::WriteLine("compare(L'a', L'b') = {0}",
kcomp(L'a', L'b'));
System::Console::WriteLine("compare(L'b', L'a') = {0}",
kcomp(L'b', L'a'));
System::Console::WriteLine();
return (0);
}
Требования
Заголовок:<cliext/functional>
Пространство имен: cliext