ArgTraits Structure

 

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 ArgTraits Structure.

Supports the WRL infrastructure and is not intended to be used directly from your code.

template<  
   typename TMemberFunction  
>  
struct ArgTraits;  
template<  
   typename TDelegateInterface  
>  
struct ArgTraits<HRESULT (STDMETHODCALLTYPE TDelegateInterface::*)(void)>;  
template<  
   typename TDelegateInterface,  
   typename TArg1  
>  
struct ArgTraits<HRESULT (STDMETHODCALLTYPE TDelegateInterface::*)(TArg1)>;  
template<  
   typename TDelegateInterface,  
   typename TArg1,  
   typename TArg2  
>  
struct ArgTraits<HRESULT (STDMETHODCALLTYPE TDelegateInterface::*)(TArg1, TArg2)>;  
template<  
   typename TDelegateInterface,  
   typename TArg1,  
   typename TArg2,  
   typename TArg3  
>  
struct ArgTraits<HRESULT (STDMETHODCALLTYPE TDelegateInterface::*)(TArg1, TArg2, TArg3)>;  
template<  
   typename TDelegateInterface,  
   typename TArg1,  
   typename TArg2,  
   typename TArg3,  
   typename TArg4  
>  
struct ArgTraits<HRESULT (STDMETHODCALLTYPE TDelegateInterface::*)(TArg1, TArg2, TArg3, TArg4)>;  
template<  
   typename TDelegateInterface,  
   typename TArg1,  
   typename TArg2,  
   typename TArg3,  
   typename TArg4,  
   typename TArg5  
>  
struct ArgTraits<HRESULT (STDMETHODCALLTYPE TDelegateInterface::*)(TArg1, TArg2, TArg3, TArg4, TArg5)>;  
template<  
   typename TDelegateInterface,  
   typename TArg1,  
   typename TArg2,  
   typename TArg3,  
   typename TArg4,  
   typename TArg5,  
   typename TArg6  
>  
struct ArgTraits<HRESULT (STDMETHODCALLTYPE TDelegateInterface::*)(TArg1, TArg2, TArg3, TArg4, TArg5, TArg6)>;  
template<  
   typename TDelegateInterface,  
   typename TArg1,  
   typename TArg2,  
   typename TArg3,  
   typename TArg4,  
   typename TArg5,  
   typename TArg6,  
   typename TArg7  
>  
struct ArgTraits<HRESULT (STDMETHODCALLTYPE TDelegateInterface::*)(TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7)>;  
template<  
   typename TDelegateInterface,  
   typename TArg1,  
   typename TArg2,  
   typename TArg3,  
   typename TArg4,  
   typename TArg5,  
   typename TArg6,  
   typename TArg7,  
   typename TArg8  
>  
struct ArgTraits<HRESULT (STDMETHODCALLTYPE TDelegateInterface::*)(TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8)>;  
template<  
   typename TDelegateInterface,  
   typename TArg1,  
   typename TArg2,  
   typename TArg3,  
   typename TArg4,  
   typename TArg5,  
   typename TArg6,  
   typename TArg7,  
   typename TArg8,  
   typename TArg9  
>  
struct ArgTraits<HRESULT (STDMETHODCALLTYPE TDelegateInterface::*)(TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9)>;  

Parameters

TMemberFunction
Typename parameter for an ArgTraits structure that cannot match any Invoke method signature.

TDelegateInterface
A delegate interface.

TArg1
The type of the first argument of the Invoke method.

TArg2
The type of the second argument of the Invoke method.

TArg3
The type of the third argument of the Invoke method.

TArg4
The type of the fourth argument of the Invoke method.

TArg5
The type of the fifth argument of the Invoke method.

TArg6
The type of the sixth argument of the Invoke method.

TArg7
The type of the seventh argument of the Invoke method.

TArg8
The type of the eigth argument of the Invoke method.

TArg9
The type of the ninth argument of the Invoke method.

The ArgTraits structure declares a specified delegate interface and an anonymous member function that has a specified number of parameters.

Public Typedefs

NameDescription
Arg1TypeThe typedef for TArg1.
Arg2TypeThe typedef for TArg2.
Arg3TypeThe typedef for TArg3.
Arg4TypeThe typedef for TArg4.
Arg5TypeThe typedef for TArg5.
Arg6TypeThe typedef for TArg6.
Arg7TypeThe typedef for TArg7.
Arg8TypeThe typedef for TArg8.
Arg9TypeThe typedef for TArg9.

Public Constants

NameDescription
ArgTraits::args ConstantKeeps count of the number of parameters on the Invoke method of a delegate interface.

ArgTraits

Header: event.h

Namespace: Microsoft::WRL::Details

Microsoft::WRL::Details Namespace

Show: