Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
binary_delegate

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

Arg1

The type of the first argument.

Arg2

The type of the second argument.

Result

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')); 
    System::Console::WriteLine(); 
    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

Community Additions

ADD
Show:
© 2015 Microsoft