Skip to content

Commit 8f5ec08

Browse files
author
Sai Charan
committed
replave macros
1 parent bfb9680 commit 8f5ec08

1 file changed

Lines changed: 12 additions & 36 deletions

File tree

libs/core/executors/include/hpx/executors/explicit_scheduler_executor.hpp

Lines changed: 12 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -165,32 +165,24 @@ namespace hpx::execution::experimental {
165165

166166
// BulkTwoWayExecutor interface
167167
// Integral shape overload - passes integral directly to bulk
168-
// clang-format off
169-
template <typename F, typename S, typename... Ts,
170-
HPX_CONCEPT_REQUIRES_(
171-
std::is_integral_v<S>
172-
)>
173-
// clang-format on
168+
template <typename F, typename S, typename... Ts>
174169
friend decltype(auto) tag_invoke(
175170
hpx::parallel::execution::bulk_async_execute_t,
176171
explicit_scheduler_executor const& exec, F&& f, S const& shape,
177172
Ts&&... ts)
173+
requires(std::is_integral_v<S>)
178174
{
179175
return bulk(schedule(exec.sched_), shape,
180176
hpx::bind_back(HPX_FORWARD(F, f), HPX_FORWARD(Ts, ts)...));
181177
}
182178

183179
// Range shape overload
184-
// clang-format off
185-
template <typename F, typename S, typename... Ts,
186-
HPX_CONCEPT_REQUIRES_(
187-
!std::is_integral_v<S>
188-
)>
189-
// clang-format on
180+
template <typename F, typename S, typename... Ts>
190181
friend decltype(auto) tag_invoke(
191182
hpx::parallel::execution::bulk_async_execute_t,
192183
explicit_scheduler_executor const& exec, F&& f, S const& shape,
193184
Ts&&... ts)
185+
requires(!std::is_integral_v<S>)
194186
{
195187
using shape_element =
196188
typename hpx::traits::range_traits<S>::value_type;
@@ -247,49 +239,37 @@ namespace hpx::execution::experimental {
247239
}
248240

249241
// Integral shape overload - passes integral directly
250-
// clang-format off
251-
template <typename F, typename S, typename... Ts,
252-
HPX_CONCEPT_REQUIRES_(
253-
std::is_integral_v<S>
254-
)>
255-
// clang-format on
242+
template <typename F, typename S, typename... Ts>
256243
friend decltype(auto) tag_invoke(
257244
hpx::parallel::execution::bulk_sync_execute_t,
258245
explicit_scheduler_executor const& exec, F&& f, S const& shape,
259246
Ts&&... ts)
247+
requires(std::is_integral_v<S>)
260248
{
261249
hpx::this_thread::experimental::sync_wait(
262250
hpx::parallel::execution::bulk_async_execute(
263251
exec, HPX_FORWARD(F, f), shape, HPX_FORWARD(Ts, ts)...));
264252
}
265253

266254
// Range shape overload
267-
// clang-format off
268-
template <typename F, typename S, typename... Ts,
269-
HPX_CONCEPT_REQUIRES_(
270-
!std::is_integral_v<S>
271-
)>
272-
// clang-format on
255+
template <typename F, typename S, typename... Ts>
273256
friend decltype(auto) tag_invoke(
274257
hpx::parallel::execution::bulk_sync_execute_t,
275258
explicit_scheduler_executor const& exec, F&& f, S const& shape,
276259
Ts&&... ts)
260+
requires(!std::is_integral_v<S>)
277261
{
278262
hpx::this_thread::experimental::sync_wait(
279263
hpx::parallel::execution::bulk_async_execute(
280264
exec, HPX_FORWARD(F, f), shape, HPX_FORWARD(Ts, ts)...));
281265
}
282266

283267
// Integral shape overload - passes integral directly to bulk
284-
// clang-format off
285-
template <typename F, typename S, typename Future, typename... Ts,
286-
HPX_CONCEPT_REQUIRES_(
287-
std::is_integral_v<S>
288-
)>
289-
// clang-format on
268+
template <typename F, typename S, typename Future, typename... Ts>
290269
friend auto tag_invoke(hpx::parallel::execution::bulk_then_execute_t,
291270
explicit_scheduler_executor const& exec, F&& f, S const& shape,
292271
Future&& predecessor, Ts&&... ts)
272+
requires(std::is_integral_v<S>)
293273
{
294274
auto pre_req =
295275
when_all(keep_future(HPX_FORWARD(Future, predecessor)));
@@ -300,15 +280,11 @@ namespace hpx::execution::experimental {
300280
}
301281

302282
// Range shape overload
303-
// clang-format off
304-
template <typename F, typename S, typename Future, typename... Ts,
305-
HPX_CONCEPT_REQUIRES_(
306-
!std::is_integral_v<S>
307-
)>
308-
// clang-format on
283+
template <typename F, typename S, typename Future, typename... Ts>
309284
friend auto tag_invoke(hpx::parallel::execution::bulk_then_execute_t,
310285
explicit_scheduler_executor const& exec, F&& f, S const& shape,
311286
Future&& predecessor, Ts&&... ts)
287+
requires(!std::is_integral_v<S>)
312288
{
313289
using result_type =
314290
parallel::execution::detail::then_bulk_function_result_t<F, S,

0 commit comments

Comments
 (0)