Share via


unary_delegate (STL/CLR)

 

The new home for Visual Studio documentation is Visual Studio 2017 Documentation on docs.microsoft.com.

The latest version of this topic can be found at unary_delegate (STL/CLR).

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

Syntax

generic<typename Arg,  
    typename Result>  
    delegate Result unary_delegate(Arg);  

Parameters

Arg
The type of the argument.

Result
The return type.

Remarks

The genereic delegate describes a one-argument function.

Note that for:

unary_delegare<int, int> Fun1;

unary_delegare<int, int> Fun2;

the types Fun1 and Fun2 are synonyms, while for:

delegate int Fun1(int);

delegate int Fun2(int);

they are not the same type.

Example

// cliext_unary_delegate.cpp   
// compile with: /clr   
#include <cliext/functional>   
  
int hash_val(wchar_t val)   
    {   
    return ((val * 17 + 31) % 67);   
    }   
  
typedef cliext::unary_delegate<wchar_t, int> Mydelegate;   
int main()   
    {   
    Mydelegate^ myhash = gcnew Mydelegate(&hash_val);   
  
    System::Console::WriteLine("hash(L'a') = {0}", myhash(L'a'));   
    System::Console::WriteLine("hash(L'b') = {0}", myhash(L'b'));   
    return (0);   
    }  
  
hash
(L'a') = 5  
hash
(L'b') = 22  

Requirements

Header: <cliext/functional>

Namespace: cliext

See Also

binary_delegate (STL/CLR)
binary_delegate_noreturn (STL/CLR)
unary_delegate_noreturn (STL/CLR)