26 template <
class... TN>
29 template <
class PS,
class... TN>
35 struct subject_shared {
39 std::exception_ptr
ep_;
45 std::unique_lock<std::mutex>
guard(lock_);
66 std::unique_lock<std::mutex>
guard(lock_);
67 for (
auto& out : receivers_) {
70 std::tuple<decltype(out), std::decay_t<TN>...>{
79 std::unique_lock<std::mutex>
guard(lock_);
81 for (
auto& out : receivers_) {
87 std::unique_lock<std::mutex>
guard(lock_);
89 for (
auto& out : receivers_) {
96 struct subject_receiver {
99 std::shared_ptr<subject_shared>
s;
104 s->value((VN &&) vn...);
116 std::shared_ptr<subject_shared> s = std::make_shared<subject_shared>();
requires SemiMovable< E > void error(E e) noexcept
detail::delegator< E > trampoline()
std::shared_ptr< subject_shared > s
constexpr detail::Map< Move > move
PUSHMI_INLINE_VAR constexpr __adl::set_error_fn set_error
—— Concurrent Priority Queue Implementation ——
::folly::pushmi::detail::opt< std::tuple< std::decay_t< TN >... > > t_
requires E e noexcept(noexcept(s.error(std::move(e))))
typename std::enable_if_t< PropertySet< PS0 > &&PropertySet< PS1 >, detail::property_set_insert< PS0, PS1 >>::type property_set_insert_t
property_set_insert_t< property_set< is_sender<>, is_single<>>, property_set< property_set_index_t< PS, is_single<>>>> properties
requires SemiMovable< E > void error(E e) noexcept
std::vector< receiver_t > receivers_
requires And< SemiMovable< VN >... > void value(VN &&...vn)
GuardImpl guard(ErrorHandler &&handler)
requires Receiver< Out > void submit(Out out)
requires Receiver< Out > void submit(Out out)
requires requires(detail::apply_impl(std::declval< F >(), std::declval< Tuple >(), detail::tupidxs< Tuple >{}))) const expr decltype(auto) apply(F &&f
PUSHMI_TEMPLATE(class E=std::exception_ptr, class Wrapped)(requires Sender< detail
PUSHMI_INLINE_VAR constexpr struct folly::pushmi::detail::as_const_fn as_const
requires And< SemiMovable< VN >... > void value(VN &&...vn)
PUSHMI_INLINE_VAR constexpr __adl::set_value_fn set_value
decltype(auto) constexpr apply(F &&func, Tuple &&tuple)
PUSHMI_INLINE_VAR constexpr __adl::set_done_fn set_done