@@ -45,25 +45,29 @@ struct connect_all_t {
4545 }
4646
4747 template <::std::size_t Start, typename Fun, typename Tuple, ::std::size_t ... I>
48- static auto sub_apply_with_index_helper (::std::index_sequence<I...> seq, Fun&& fun, Tuple&& tuple) noexcept (noexcept (
49- ::std::forward<Fun>(fun)(seq, ::beman::execution26::detail::forward_like<Tuple>(tuple.template get<I+Start>())...)))
48+ static auto sub_apply_with_index_helper (::std::index_sequence<I...> seq, Fun&& fun, Tuple&& tuple) noexcept (
49+ noexcept (::std::forward<Fun>(fun)(
50+ seq, ::beman::execution26::detail::forward_like<Tuple>(tuple.template get<I + Start>())...)))
5051 -> decltype(auto ) {
51- return ::std::forward<Fun>(fun)(seq,
52- ::beman::execution26::detail::forward_like<Tuple>(tuple.template get <I+ Start>())...);
52+ return ::std::forward<Fun>(fun)(
53+ seq, ::beman::execution26::detail::forward_like<Tuple>(tuple.template get <I + Start>())...);
5354 }
5455 template <::std::size_t Start, typename Fun, typename Tuple>
55- requires requires { ::std::declval<Tuple>().size (); }
56- static auto sub_apply_with_index (Fun&& fun, Tuple&& tuple) noexcept (
57- noexcept (sub_apply_with_index_helper<Start>(::std::make_index_sequence<::std::tuple_size_v<::std::decay_t <Tuple>>-Start>{},
58- ::std::forward<Fun>(fun),
59- ::std::forward<Tuple>(tuple)))) -> decltype(auto ) {
60- return sub_apply_with_index_helper<Start>(::std::make_index_sequence<::std::tuple_size_v<::std::decay_t <Tuple>>-Start>{},
61- ::std::forward<Fun>(fun),
62- ::std::forward<Tuple>(tuple));
56+ requires requires { ::std::declval<Tuple>().size (); }
57+ static auto sub_apply_with_index (Fun&& fun, Tuple&& tuple) noexcept (noexcept (sub_apply_with_index_helper<Start>(
58+ ::std::make_index_sequence<::std::tuple_size_v<::std::decay_t <Tuple>> - Start>{},
59+ ::std::forward<Fun>(fun),
60+ ::std::forward<Tuple>(tuple)))) -> decltype(auto ) {
61+ return sub_apply_with_index_helper<Start>(
62+ ::std::make_index_sequence<::std::tuple_size_v<::std::decay_t <Tuple>> - Start>{},
63+ ::std::forward<Fun>(fun),
64+ ::std::forward<Tuple>(tuple));
6365 }
6466 template <::std::size_t Start, typename Fun, typename Tuple>
65- requires (not requires { ::std::declval<Tuple>().size (); })
66- static auto sub_apply_with_index(Fun&& fun, Tuple&& ) noexcept (noexcept (::std::forward<Fun>(fun)(::std::make_index_sequence<0u >{}))) {
67+ requires (not requires { ::std::declval<Tuple>().size (); })
68+ static auto
69+ sub_apply_with_index(Fun&& fun,
70+ Tuple&&) noexcept (noexcept (::std::forward<Fun>(fun)(::std::make_index_sequence<0u >{}))) {
6771 return ::std::forward<Fun>(fun)(::std::make_index_sequence<0u >{});
6872 }
6973
@@ -90,15 +94,16 @@ struct connect_all_t {
9094 public:
9195 // -dk:TODO is the S parameter deviating from the spec?
9296 template <typename Sender, typename S, typename Receiver, ::std::size_t ... I>
93- requires requires (Sender&& s){ s.size (); s.template get <0 >(); }
97+ requires requires (Sender&& s) {
98+ s.size ();
99+ s.template get <0 >();
100+ }
94101 auto operator ()(::beman::execution26::detail::basic_state<Sender, Receiver>* op,
95102 S&& sender,
96103 ::std::index_sequence<I...>) const
97- noexcept (noexcept (sub_apply_with_index<2 >(connect_helper<Sender, Receiver>{op},
98- ::std::forward<S>(sender))))
99- -> decltype(auto ) {
100- return sub_apply_with_index<2 >(connect_helper<Sender, Receiver>{op},
101- ::std::forward<S>(sender));
104+ noexcept (noexcept (sub_apply_with_index<2 >(connect_helper<Sender, Receiver>{op}, ::std::forward<S>(sender))))
105+ -> decltype(auto ) {
106+ return sub_apply_with_index<2 >(connect_helper<Sender, Receiver>{op}, ::std::forward<S>(sender));
102107 }
103108 template <typename Sender, typename S, typename Receiver, ::std::size_t ... I>
104109 auto operator ()(::beman::execution26::detail::basic_state<Sender, Receiver>* op,
0 commit comments