A partitioner is a light callable object that takes a pair of iterators and returns the middle of the sequence.
More...
|
| constexpr std::size_t | CeresEngine::make_grain_size (const std::size_t n, const std::size_t occupancy=hardware_concurrency()) |
| | Determine a reasonable minimum grain size depending on the number of elements in a sequence.
|
| |
| DefaultPartitioner | CeresEngine::make_default_partitioner (const size_t n, const std::size_t occupancy=hardware_concurrency()) |
| | Create an instance of the default partitioner with a reasonable grain size for n elements.
|
| |
| template<traits::input_iterator I, traits::sentinel_for< I > S> |
| DefaultPartitioner | CeresEngine::make_default_partitioner (I first, S last, const std::size_t occupancy=hardware_concurrency()) |
| | Create an instance of the default partitioner with a reasonable grain for the range first, last.
|
| |
| template<traits::input_range R> |
| DefaultPartitioner | CeresEngine::make_default_partitioner (R &&r, std::size_t occupancy=hardware_concurrency()) |
| | Create an instance of the default partitioner with a reasonable grain for the range r.
|
| |
| template<traits::executor E> |
| DefaultPartitioner | CeresEngine::make_default_partitioner (const E &executor, const size_t n) |
| | Create an instance of the default partitioner for the given executor.
|
| |
| template<traits::executor E, traits::input_iterator I, traits::sentinel_for< I > S> |
| DefaultPartitioner | CeresEngine::make_default_partitioner (const E &executor, I first, S last) |
| | Create an instance of the default partitioner with a reasonable grain for the range first, last.
|
| |
| template<traits::executor E, traits::input_range R> |
| DefaultPartitioner | CeresEngine::make_default_partitioner (const E &executor, R &&r) |
| | Create an instance of the default partitioner with a reasonable grain for the range r.
|
| |
A partitioner is a light callable object that takes a pair of iterators and returns the middle of the sequence.
In particular, it returns an iterator middle that forms a subrange first/middle which the algorithm should solve inline before scheduling the subrange middle/last in the executor.