Lines Matching defs:_Receiver

65     template <receiver _Receiver, sender _Item>
66 requires tag_invocable<set_next_t, _Receiver&, _Item>
67 auto operator()(_Receiver& __rcvr, _Item&& __item) const
68 noexcept(nothrow_tag_invocable<set_next_t, _Receiver&, _Item>)
69 -> tag_invoke_result_t<set_next_t, _Receiver&, _Item>
72 next_sender<tag_invoke_result_t<set_next_t, _Receiver&, _Item>>,
83 template <class _Receiver, class _Sender>
85 stdexec::__declval<stdexec::__decay_t<_Receiver>&>(),
98 using _Receiver = stdexec::__t<_ReceiverId>;
99 using _Token = stop_token_of_t<env_of_t<_Receiver>>;
101 _Receiver __rcvr_;
103 auto get_env() const noexcept -> env_of_t<_Receiver>
109 requires __callable<set_value_t, _Receiver>
111 return stdexec::set_value(static_cast<_Receiver&&>(__rcvr_));
115 requires __callable<set_value_t, _Receiver> &&
117 __callable<set_stopped_t, _Receiver>)
121 stdexec::set_value(static_cast<_Receiver&&>(__rcvr_));
129 stdexec::set_stopped(static_cast<_Receiver&&>(__rcvr_));
133 stdexec::set_value(static_cast<_Receiver&&>(__rcvr_));
260 template <class _Receiver>
268 template <class _Receiver, class _Item>
271 _WITH_RECEIVER_<_Receiver>>;
273 template <class _Receiver, class _Item>
274 requires stdexec::__callable<set_next_t, _Receiver&, _Item>
277 template <class _Receiver, class... _Items>
280 exec::__try_item<_Receiver>(static_cast<_Items*>(nullptr))));
282 template <class _Receiver, class _Items>
286 exec::__try_items<stdexec::__decay_t<_Receiver>>(__items)
290 template <class _Receiver, class _SequenceItems>
292 stdexec::receiver<_Receiver> && //
293 __sequence_receiver_of<_Receiver, _SequenceItems>;
329 template <class _Receiver, class _Sender>
331 stdexec::receiver<_Receiver> && //
332 stdexec::sender_in<_Sender, stdexec::env_of_t<_Receiver>> && //
334 _Receiver, item_types_of_t<_Sender, stdexec::env_of_t<_Receiver>>> && //
335 ((sequence_sender_in<_Sender, stdexec::env_of_t<_Receiver>> &&
336 stdexec::receiver_of<_Receiver,
338 _Sender, stdexec::env_of_t<_Receiver>>>) || //
339 (!sequence_sender_in<_Sender, stdexec::env_of_t<_Receiver>> &&
341 __sequence_sndr::__stopped_means_break_t<_Receiver>,
342 next_sender_of_t<_Receiver, _Sender>>));
354 template <class _Sender, class _Receiver>
356 receiver<_Receiver> && //
357 sender_in<_Sender, env_of_t<_Receiver>> && //
358 !sequence_sender_in<_Sender, env_of_t<_Receiver>> && //
359 sequence_receiver_of<_Receiver,
361 sender_to<next_sender_of_t<_Receiver, _Sender>,
362 __stopped_means_break_t<_Receiver>>;
364 template <class _Sender, class _Receiver>
366 receiver<_Receiver> && //
367 sequence_sender_in<_Sender, env_of_t<_Receiver>> && //
368 sequence_receiver_from<_Receiver, _Sender> && //
369 tag_invocable<subscribe_t, _Sender, _Receiver>;
373 template <class _Sender, class _Receiver>
374 using __tfx_sndr = __tfx_sender<_Sender, env_of_t<_Receiver>>;
376 template <class _Sender, class _Receiver>
379 using _Domain = __late_domain_of_t<_Sender, env_of_t<_Receiver&>>;
382 env_of_t<_Receiver&>>;
383 using _TfxSender = __tfx_sndr<_Sender, _Receiver>;
384 if constexpr (__next_connectable<_TfxSender, _Receiver>)
387 connect_result_t<next_sender_of_t<_Receiver, _TfxSender>,
388 __stopped_means_break_t<_Receiver>>;
390 __nothrow_connectable<next_sender_of_t<_Receiver, _TfxSender>,
391 __stopped_means_break_t<_Receiver>>;
395 _Receiver>)
398 tag_invoke_result_t<subscribe_t, _TfxSender, _Receiver>;
401 nothrow_tag_invocable<subscribe_t, _TfxSender, _Receiver>;
411 template <class _Sender, class _Receiver>
412 using __select_impl_t = decltype(__select_impl<_Sender, _Receiver>());
414 template <sender _Sender, receiver _Receiver>
415 requires __next_connectable<__tfx_sndr<_Sender, _Receiver>,
416 _Receiver> ||
417 __subscribeable_with_tag_invoke<__tfx_sndr<_Sender, _Receiver>,
418 _Receiver> ||
419 __is_debug_env<env_of_t<_Receiver>>
420 auto operator()(_Sender&& __sndr, _Receiver&& __rcvr) const
421 noexcept(__nothrow_callable<__select_impl_t<_Sender, _Receiver>>)
422 -> __call_result_t<__select_impl_t<_Sender, _Receiver>>
424 using _TfxSender = __tfx_sndr<_Sender, _Receiver>;
427 if constexpr (__next_connectable<_TfxSender, _Receiver>)
431 connect_result_t<next_sender_of_t<_Receiver, _TfxSender>,
432 __stopped_means_break_t<_Receiver>>>,
435 next_sender_of_t<_Receiver, _TfxSender> __next = set_next(
439 static_cast<next_sender_of_t<_Receiver, _TfxSender>&&>(__next),
440 __stopped_means_break_t<_Receiver>{
441 static_cast<_Receiver&&>(__rcvr)});
444 _Receiver>)
448 tag_invoke_result_t<subscribe_t, _TfxSender, _Receiver>>,
455 static_cast<_Receiver&&>(__rcvr));
466 static_cast<_Receiver&&>(__rcvr));
470 next_sender_of_t<_Receiver, _TfxSender> __next = set_next(
475 static_cast<next_sender_of_t<_Receiver, _TfxSender>&&>(__next),
476 __stopped_means_break_t<_Receiver>{
477 static_cast<_Receiver&&>(__rcvr)});
487 template <class _Sender, class _Receiver>
488 using subscribe_result_t = __call_result_t<subscribe_t, _Sender, _Receiver>;
498 template <class _Sender, class _Receiver>
500 sequence_receiver_from<_Receiver, _Sender> && //
501 requires(_Sender&& __sndr, _Receiver&& __rcvr) {
503 static_cast<_Receiver&&>(__rcvr));
506 template <class _Receiver>
508 stdexec::__callable<stdexec::set_value_t, _Receiver> && //
510 stdexec::stop_token_of_t<stdexec::env_of_t<_Receiver>>> ||
511 stdexec::__callable<stdexec::set_stopped_t, _Receiver>);
513 template <class _Receiver>
514 requires __stoppable_receiver<_Receiver>
515 void __set_value_unless_stopped(_Receiver&& __rcvr)
517 using token_type = stdexec::stop_token_of_t<stdexec::env_of_t<_Receiver>>;
520 stdexec::set_value(static_cast<_Receiver&&>(__rcvr));
527 stdexec::set_value(static_cast<_Receiver&&>(__rcvr));
531 stdexec::set_stopped(static_cast<_Receiver&&>(__rcvr));