ArgTraits 構造体
WRL インフラストラクチャをサポートします。コードから直接使用するためのものではありません。
構文
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)>;
パラメーター
TMemberFunction
どの Invoke
メソッド シグネチャとも一致しない、ArgTraits 構造体の型名パラメーター。
TDelegateInterface
デリゲート インターフェイス。
TArg1
Invoke
メソッドの第 1 引数の型。
TArg2
Invoke
メソッドの第 2 引数の型。
TArg3
Invoke
メソッドの第 3 引数の型。
TArg4
Invoke
メソッドの第 4 引数の型。
TArg5
Invoke
メソッドの第 5 引数の型。
TArg6
Invoke
メソッドの第 6 引数の型。
TArg7
Invoke
メソッドの第 7 引数の型。
TArg8
Invoke
メソッドの第 8 引数の型。
TArg9
Invoke
メソッドの第 9 引数の型。
解説
ArgTraits
構造体は、指定されたデリゲート インターフェイスと、指定された数のパラメーターを持つ匿名メンバー関数を宣言します。
メンバー
パブリック typedef
名前 | 説明 |
---|---|
Arg1Type |
TArg1 の typedef。 |
Arg2Type |
TArg2 の typedef。 |
Arg3Type |
TArg3 の typedef。 |
Arg4Type |
TArg4 の typedef。 |
Arg5Type |
TArg5 の typedef。 |
Arg6Type |
TArg6 の typedef。 |
Arg7Type |
TArg7 の typedef。 |
Arg8Type |
TArg8 の typedef。 |
Arg9Type |
TArg9 の typedef。 |
パブリック定数
名前 | 説明 |
---|---|
ArgTraits::args | デリゲート インターフェイスの Invoke メソッドのパラメーター数を保持します。 |
継承階層
ArgTraits
要件
ヘッダー: event.h
名前空間: Microsoft::WRL::Details
ArgTraits::args
WRL インフラストラクチャをサポートします。コードから直接使用するためのものではありません。
static const int args = -1;
解説
デリゲート インターフェイスの Invoke
メソッドのパラメーター数を保持します。 args
が -1 の場合、Invoke
メソッド シグネチャとの一致はありません。