12 template <
typename Task>
13 requires (
sizeof...(Nodes) == 0) &&
19 template <
typename Task,
typename FanoutPolicy>
20 requires (
sizeof...(Nodes) == 0) &&
28 requires (
sizeof...(Nodes) == 0) &&
38 static_cast<const Derived*
>(
this),
45 template <
typename F,
typename FanoutPolicy>
46 requires (
sizeof...(Nodes) == 0) &&
54 std::decay_t<FanoutPolicy>,
57 static_cast<const Derived*
>(
this),
64 template <
typename F,
typename AdapterChain>
65 requires (
sizeof...(Nodes) == 0) &&
74 std::decay_t<AdapterChain>
76 static_cast<const Derived*
>(
this),
79 std::forward<AdapterChain>(adapter_specs)
83 template <
typename F,
typename FanoutPolicy,
typename AdapterChain>
84 requires (
sizeof...(Nodes) == 0) &&
93 std::decay_t<FanoutPolicy>,
94 std::decay_t<AdapterChain>
96 static_cast<const Derived*
>(
this),
99 std::forward<AdapterChain>(adapter_specs)
103 template <
typename Task>
104 requires (
sizeof...(Nodes) == 0) &&
110 template <
typename Task,
typename FanoutPolicy>
111 requires (
sizeof...(Nodes) == 0) &&
118 template <
typename F>
119 requires (
sizeof...(Nodes) == 0) &&
129 static_cast<const Derived*
>(
this),
136 template <
typename F,
typename FanoutPolicy>
137 requires (
sizeof...(Nodes) == 0) &&
145 std::decay_t<FanoutPolicy>,
148 static_cast<const Derived*
>(
this),
155 template <
typename F,
typename AdapterChain>
156 requires (
sizeof...(Nodes) == 0) &&
165 std::decay_t<AdapterChain>
167 static_cast<const Derived*
>(
this),
170 std::forward<AdapterChain>(adapter_specs)
174 template <
typename F,
typename FanoutPolicy,
typename AdapterChain>
175 requires (
sizeof...(Nodes) == 0) &&
184 std::decay_t<FanoutPolicy>,
185 std::decay_t<AdapterChain>
187 static_cast<const Derived*
>(
this),
190 std::forward<AdapterChain>(adapter_specs)
194 template <
typename Task>
195 requires (
sizeof...(Nodes) == 0) &&
201 template <
typename Task,
typename FanoutPolicy>
202 requires (
sizeof...(Nodes) == 0) &&
209 template <
typename F>
210 requires (
sizeof...(Nodes) == 0) &&
227 template <
typename F,
typename FanoutPolicy>
228 requires (
sizeof...(Nodes) == 0) &&
236 std::decay_t<FanoutPolicy>,
246 template <
typename F,
typename AdapterChain>
247 requires (
sizeof...(Nodes) == 0) &&
256 std::decay_t<AdapterChain>
261 std::forward<AdapterChain>(adapter_specs)
265 template <
typename F,
typename FanoutPolicy,
typename AdapterChain>
266 requires (
sizeof...(Nodes) == 0) &&
275 std::decay_t<FanoutPolicy>,
276 std::decay_t<AdapterChain>
281 std::forward<AdapterChain>(adapter_specs)
285 template <
typename Task>
286 requires (
sizeof...(Nodes) == 0) &&
292 template <
typename Task,
typename FanoutPolicy>
293 requires (
sizeof...(Nodes) == 0) &&
300 template <
typename F>
301 requires (
sizeof...(Nodes) == 0) &&
318 template <
typename F,
typename FanoutPolicy>
319 requires (
sizeof...(Nodes) == 0) &&
327 std::decay_t<FanoutPolicy>,
337 template <
typename F,
typename AdapterChain>
338 requires (
sizeof...(Nodes) == 0) &&
347 std::decay_t<AdapterChain>
352 std::forward<AdapterChain>(adapter_specs)
356 template <
typename F,
typename FanoutPolicy,
typename AdapterChain>
357 requires (
sizeof...(Nodes) == 0) &&
366 std::decay_t<FanoutPolicy>,
367 std::decay_t<AdapterChain>
372 std::forward<AdapterChain>(adapter_specs)
constexpr bool is_adapter_descriptor_v
constexpr auto task(F &&f)
constexpr auto root_into(F &&f) &&
constexpr auto root_into(Task &&task, FanoutPolicy &&fanout_policy) &&
constexpr auto root_into(F &&f) const &
constexpr auto root(Task &&task) const &
constexpr auto root(F &&f) const &
constexpr auto root(F &&f, AdapterChain &&adapter_specs) &&
constexpr auto root_into(F &&f, FanoutPolicy &&fanout_policy) const &
constexpr auto root(F &&f, FanoutPolicy &&fanout_policy, AdapterChain &&adapter_specs) const &
constexpr auto root_into(Task &&task) &&
constexpr auto root_into(F &&f, AdapterChain &&adapter_specs) const &
constexpr auto root(F &&f) &&
constexpr auto root_into(Task &&task, FanoutPolicy &&fanout_policy) const &
constexpr auto root_into(F &&f, FanoutPolicy &&fanout_policy) &&
constexpr auto root(F &&f, FanoutPolicy &&fanout_policy, AdapterChain &&adapter_specs) &&
constexpr auto root_into(F &&f, FanoutPolicy &&fanout_policy, AdapterChain &&adapter_specs) &&
constexpr auto root_into(F &&f, FanoutPolicy &&fanout_policy, AdapterChain &&adapter_specs) const &
constexpr auto root(F &&f, FanoutPolicy &&fanout_policy) &&
constexpr auto root(F &&f, FanoutPolicy &&fanout_policy) const &
constexpr auto root(Task &&task) &&
constexpr auto root(F &&f, AdapterChain &&adapter_specs) const &
constexpr auto root_into(Task &&task) const &
constexpr auto root(Task &&task, FanoutPolicy &&fanout_policy) const &
constexpr auto root_into(F &&f, AdapterChain &&adapter_specs) &&
constexpr auto root(Task &&task, FanoutPolicy &&fanout_policy) &&