ArgTraits Structure
Supports the WRL infrastructure and is not intended to be used directly from your code.
Syntax
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 eighth argument of the Invoke
method.
TArg9
The type of the ninth argument of the Invoke
method.
Remarks
The ArgTraits
structure declares a specified delegate interface and an anonymous member function that has a specified number of parameters.
Members
Public Typedefs
Name | Description |
---|---|
Arg1Type |
The typedef for TArg1. |
Arg2Type |
The typedef for TArg2. |
Arg3Type |
The typedef for TArg3. |
Arg4Type |
The typedef for TArg4. |
Arg5Type |
The typedef for TArg5. |
Arg6Type |
The typedef for TArg6. |
Arg7Type |
The typedef for TArg7. |
Arg8Type |
The typedef for TArg8. |
Arg9Type |
The typedef for TArg9. |
Public Constants
Name | Description |
---|---|
ArgTraits::args | Keeps count of the number of parameters on the Invoke method of a delegate interface. |
Inheritance Hierarchy
ArgTraits
Requirements
Header: event.h
Namespace: Microsoft::WRL::Details
ArgTraits::args
Supports the WRL infrastructure and is not intended to be used directly from your code.
static const int args = -1;
Remarks
Keeps count of the number of parameters on the Invoke
method of a delegate interface. When args
equals -1, there can be no match for the Invoke
method signature.