Шаблон структуры winrt::delegate (C++/WinRT)
Тип, который можно использовать для объявления пользовательского типа делегата для собственных событий. делегат поддерживает любое количество параметров и не ограничивается среда выполнения Windows типами.
Тип делегата не имеет ABI (он не имеет интерфейса для использования в двоичных файлах приложения), поэтому его вариант использования заключается в создании и использовании события в одном проекте. Дополнительные сведения об этом сценарии см. в разделе Параметризованные делегаты, простые сигналы и обратные вызовы в проекте.
Дополнительные сведения об обработке событий и примерах кода см. в разделе "Обработка событий с помощью делегатов в C++/WinRT".
Синтаксис
template <typename... T>
struct delegate : Windows::Foundation::IUnknown
Параметры шаблона
typename... T
Пакет параметров шаблона variadic, содержащий типы параметров, передаваемых делегатом при вызове.
Требования
Минимальный поддерживаемый пакет SDK: пакет SDK Windows версии 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