winrt::delegate 構造体テンプレート (C++/WinRT)
独自のイベントのカスタム デリゲート型を宣言するために使用できる型。 デリゲートは任意の数のパラメーターをサポートしており、Windows ランタイム型に限定されません。
デリゲート型には ABI がありません (アプリケーション バイナリ間で使用するためのインターフェイスがないため、そのユース ケースは、同じプロジェクト内でイベントを作成して使用する場合です。 そのシナリオの詳細については、「 パラメーター化されたデリゲート、単純なシグナル、およびプロジェクト内のコールバック」を参照してください。
イベントの処理とコード例の詳細については、「 C++/WinRT でデリゲートを使用してイベントを処理する」を参照してください。
構文
template <typename... T>
struct delegate : Windows::Foundation::IUnknown
テンプレート パラメーター
typename... T
デリゲートが呼び出されたときに渡されるパラメーターの型を含む可変個引数テンプレート パラメーター パック。
必要条件
サポートされている最小 SDK: Windows SDK バージョン 10.0.17134.0 (Windows 10、バージョン 1803)
名前空間: winrt
ヘッダー: %WindowsSdkDir%IncludeWindowsTargetPlatformVersion<>\cppwinrt\winrt\base.h (既定で含まれています)
コンストラクター
コンストラクター | 説明 |
---|---|
delegate::d elegate コンストラクター | 入力データから デリゲート 構造体の新しいインスタンスを初期化します。 |
メンバー演算子
演算子 | 説明 |
---|---|
delegate::operator() (関数呼び出し演算子) | 指定された引数を使用して 、デリゲート オブジェクトによって表されるデリゲートを呼び出します。 |
delegate::d elegate コンストラクター
入力データから デリゲート 構造体の新しいインスタンスを初期化します。
構文
delegate(std::nullptr_t = nullptr) noexcept;
template <typename L>
delegate(L lHandler);
template <typename F>
delegate(F* fHandler);
template <typename O, typename M>
delegate(O* object, M method);
テンプレート パラメーター
typename L
ラムダ関数の型。
typename F
無料の関数型。
typename O
オブジェクト型。
typename M
メンバー関数へのポインター型。
パラメーター
lHandler
イベントを処理するラムダ関数。
fHandler
イベントを処理するフリー関数へのポインター。
object
メンバー関数がイベントを処理するオブジェクトへのポインター。
method
イベントを処理するメンバーへのポインター関数。
delegate::operator() (関数呼び出し演算子)
指定された引数を使用して 、デリゲート オブジェクトによって表されるデリゲートを呼び出します。
構文
void operator()(T const&... args) const