23#ifndef VCL_BASE_PARALLEL_H
24#define VCL_BASE_PARALLEL_H
26#include <vclib/base/concepts/range.h>
32#define VCLIB_EMIT_REDEFINED
37#define POOLSTL_STD_SUPPLEMENT
38#if __has_include(<poolstl/poolstl.hpp>)
39#include <poolstl/poolstl.hpp>
41#include "../../../external/poolSTL-0.3.5/include/poolstl/poolstl.hpp"
45#ifdef VCLIB_EMIT_REDEFINED
46#undef VCLIB_EMIT_REDEFINED
73template<
typename Iterator,
typename Lambda>
74void parallelFor(Iterator&& begin, Iterator&& end, Lambda&& F)
76 std::for_each(std::execution::par, begin, end, F);
94template<Range Rng,
typename Lambda>
95void parallelFor(Rng&& r, Lambda&& F)
97 parallelFor(std::ranges::begin(r), std::ranges::end(r), F);