18[[gnu::always_inline]]
inline void
23 for (i = i_begin; i + chunk_size <= i_end; i += chunk_size)
29 I rem_i = (i_end - i_begin) % chunk_size;
33 for (i -= chunk_size; i >= i_begin; i -= chunk_size)
40[[gnu::always_inline]]
inline void
45 for (i = i_begin; i + chunk_size <= i_end; i += chunk_size)
46 func_chunk(i, chunk_size);
51 I rem_i = (i_end - i_begin) % chunk_size;
55 for (i -= chunk_size; i >= i_begin; i -= chunk_size)
56 func_chunk(i, chunk_size);
LoopDir
Direction for chunked iteration.
void foreach_chunked_merged(I i_begin, I i_end, auto chunk_size, auto func_chunk, LoopDir dir=LoopDir::Forward)
void foreach_chunked(I i_begin, I i_end, auto chunk_size, auto func_chunk, auto func_rem, LoopDir dir=LoopDir::Forward)