This documentation is archived and is not being maintained.

binary_delegate (STL/CLR)

The genereic class describes a two-argument delegate. You use it specify a delegate in terms of its argument and return types.

generic<typename Arg1,
    typename Arg2,
    typename Result>
    delegate Result binary_delegate(Arg1, Arg2);


The type of the first argument.


The type of the second argument.


The return type.

The genereic delegate describes a two-argument function.

Note that for:

binary_delegate<int, int, int> Fun1;

binary_delegate<int, int, int> Fun2;

the types Fun1 and Fun2 are synonyms, while for:

delegate int Fun1(int, int);

delegate int Fun2(int, int);

they are not the same type.

// 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')); 
    return (0); 
compare(L'a', L'a') = False
compare(L'a', L'b') = True
compare(L'b', L'a') = False

Header: <cliext/functional>

Namespace: cliext