hpx/execution_base/any_sender.hpp

See Public API for a list of names and headers that are part of the public HPX API.

namespace hpx
namespace execution
namespace experimental
template<typename ...Ts>
class any_sender : private hpx::execution::experimental::detail::any_sender_static_empty_vtable_helper<Ts...>

Public Functions

any_sender()
template<typename Sender, typename = std::enable_if_t<!std::is_same_v<std::decay_t<Sender>, any_sender>>>
any_sender(Sender &&sender)
template<typename Sender, typename = std::enable_if_t<!std::is_same_v<std::decay_t<Sender>, any_sender>>>
any_sender &operator=(Sender &&sender)
~any_sender()
any_sender(any_sender&&)
any_sender(any_sender const&)
any_sender &operator=(any_sender&&)
any_sender &operator=(any_sender const&)

Private Types

template<>
using base_type = detail::any_sender_base<Ts...>
template<typename Sender>
using impl_type = detail::any_sender_impl<Sender, Ts...>
template<>
using storage_type = hpx::detail::copyable_sbo_storage<base_type, 4 * sizeof(void*)>

Private Members

storage_type storage = {}

Friends

template<typename Env>
auto tag_invoke(get_completion_signatures_t, any_sender const&, Env)
template<typename R>
detail::any_operation_state tag_invoke(hpx::execution::experimental::connect_t, any_sender &s, R &&r)
template<typename R>
detail::any_operation_state tag_invoke(hpx::execution::experimental::connect_t, any_sender &&s, R &&r)
template<typename ...Ts>
class unique_any_sender : private hpx::execution::experimental::detail::any_sender_static_empty_vtable_helper<Ts...>

Public Functions

unique_any_sender()
template<typename Sender, typename = std::enable_if_t<!std::is_same_v<std::decay_t<Sender>, unique_any_sender>>>
unique_any_sender(Sender &&sender)
template<typename Sender, typename = std::enable_if_t<!std::is_same_v<std::decay_t<Sender>, unique_any_sender>>>
unique_any_sender &operator=(Sender &&sender)
~unique_any_sender()
unique_any_sender(unique_any_sender&&)
unique_any_sender(unique_any_sender const&)
unique_any_sender &operator=(unique_any_sender&&)
unique_any_sender &operator=(unique_any_sender const&)

Private Types

template<>
using base_type = detail::unique_any_sender_base<Ts...>
template<typename Sender>
using impl_type = detail::unique_any_sender_impl<Sender, Ts...>
template<>
using storage_type = hpx::detail::movable_sbo_storage<base_type, 4 * sizeof(void*)>

Private Members

storage_type storage = {}

Friends

template<typename Env>
auto tag_invoke(get_completion_signatures_t, unique_any_sender const&, Env)
template<typename R>
detail::any_operation_state tag_invoke(hpx::execution::experimental::connect_t, unique_any_sender &&s, R &&r)