Owning type-erased wrapper for EventHandler.
More...
#include <any_event_handler.hpp>
|
| | any_event_handler () noexcept |
| |
template<detail::EventHandler HandlerTy, typename... Args>
requires (!std::same_as<HandlerTy, any_event_handler> && !std::same_as<HandlerTy, event_handler_ref> && std::constructible_from<HandlerTy, Args...>) |
| | any_event_handler (std::pmr::memory_resource *memres, Args &&...args) |
| |
template<detail::EventHandler HandlerTy, typename... Args>
requires (!std::same_as<HandlerTy, any_event_handler> && !std::same_as<HandlerTy, event_handler_ref> && std::constructible_from<HandlerTy, Args...>) |
| | any_event_handler (Args &&...args) |
| |
template<detail::EventHandler HandlerTy, typename... Args>
requires (!std::same_as<HandlerTy, any_event_handler> && !std::same_as<HandlerTy, event_handler_ref> && std::constructible_from<HandlerTy, Args...>) |
| auto | emplace (std::pmr::memory_resource *memres, Args &&...args) |
| |
template<detail::EventHandler HandlerTy, typename... Args>
requires (!std::same_as<HandlerTy, any_event_handler> && !std::same_as<HandlerTy, event_handler_ref> && std::constructible_from<HandlerTy, Args...>) |
| auto | emplace (Args &&...args) |
| |
| | any_event_handler (any_event_handler const &other)=delete |
| |
| any_event_handler & | operator= (any_event_handler const &other)=delete |
| |
| | any_event_handler (any_event_handler &&other) noexcept |
| |
| any_event_handler & | operator= (any_event_handler &&other) noexcept |
| |
| | ~any_event_handler () |
| |
| auto | valid () const noexcept -> bool |
| |
| auto | start (libusb_context *usb_ctx, std::stop_token stop) -> bool |
| |
| auto | ref () noexcept -> void |
| |
| auto | unref () noexcept -> void |
| |
| auto | stop () -> void |
| |
Owning type-erased wrapper for EventHandler.
This type is used to uniformly store objects of any type that conform to co_usb::ev::detail::EventHandler concept. It allocates the space for the buffer using a given pointer to a memory resource and will preserve this pointer inside of itself.
- See also
- event_handler_ref
◆ any_event_handler() [1/5]
| co_usb::ev::any_event_handler::any_event_handler |
( |
| ) |
|
|
inlineexplicitnoexcept |
◆ any_event_handler() [2/5]
template<detail::EventHandler HandlerTy, typename... Args>
requires (!std::same_as<HandlerTy,
any_event_handler> && !std::same_as<HandlerTy,
event_handler_ref> && std::constructible_from<HandlerTy, Args...>)
| co_usb::ev::any_event_handler::any_event_handler |
( |
std::pmr::memory_resource * |
memres, |
|
|
Args &&... |
args |
|
) |
| |
|
inlineexplicit |
◆ any_event_handler() [3/5]
template<detail::EventHandler HandlerTy, typename... Args>
requires (!std::same_as<HandlerTy,
any_event_handler> && !std::same_as<HandlerTy,
event_handler_ref> && std::constructible_from<HandlerTy, Args...>)
| co_usb::ev::any_event_handler::any_event_handler |
( |
Args &&... |
args | ) |
|
|
inlineexplicit |
◆ any_event_handler() [4/5]
◆ any_event_handler() [5/5]
◆ ~any_event_handler()
| co_usb::ev::any_event_handler::~any_event_handler |
( |
| ) |
|
|
inline |
◆ emplace() [1/2]
template<detail::EventHandler HandlerTy, typename... Args>
requires (!std::same_as<HandlerTy,
any_event_handler> && !std::same_as<HandlerTy,
event_handler_ref> && std::constructible_from<HandlerTy, Args...>)
| auto co_usb::ev::any_event_handler::emplace |
( |
Args &&... |
args | ) |
|
|
inline |
◆ emplace() [2/2]
template<detail::EventHandler HandlerTy, typename... Args>
requires (!std::same_as<HandlerTy,
any_event_handler> && !std::same_as<HandlerTy,
event_handler_ref> && std::constructible_from<HandlerTy, Args...>)
| auto co_usb::ev::any_event_handler::emplace |
( |
std::pmr::memory_resource * |
memres, |
|
|
Args &&... |
args |
|
) |
| |
|
inline |
◆ operator=() [1/2]
◆ operator=() [2/2]
◆ ref()
| auto co_usb::ev::any_event_handler::ref |
( |
| ) |
-> void
|
|
inlinenoexcept |
◆ start()
| auto co_usb::ev::any_event_handler::start |
( |
libusb_context * |
usb_ctx, |
|
|
std::stop_token |
stop |
|
) |
| -> bool
|
|
inline |
◆ stop()
| auto co_usb::ev::any_event_handler::stop |
( |
| ) |
-> void
|
|
inline |
◆ unref()
| auto co_usb::ev::any_event_handler::unref |
( |
| ) |
-> void
|
|
inlinenoexcept |
◆ valid()
| auto co_usb::ev::any_event_handler::valid |
( |
| ) |
const -> bool
|
|
inlinenoexcept |
◆ event_handler_ref
| friend co_usb::ev::any_event_handler::event_handler_ref |
The documentation for this struct was generated from the following file: