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);

Parameters

  • Arg1
    The type of the first argument.

  • Arg2
    The type of the second argument.

  • Result
    The return type.

Remarks

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.

Example

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

Requirements

Header: <cliext/functional>

Namespace: cliext

See Also

Reference

binary_delegate_noreturn (STL/CLR)

unary_delegate (STL/CLR)

unary_delegate_noreturn (STL/CLR)