|
template<typename E > |
constexpr bool | is_supported () |
| Determines if an execution policy is supported in the current compilation. More...
|
|
template<typename E > |
constexpr bool | supports_map () |
| Determines if an execution policy supports the map pattern. More...
|
|
template<typename E > |
constexpr bool | supports_reduce () |
| Determines if an execution policy supports the reduce pattern. More...
|
|
template<typename E > |
constexpr bool | supports_map_reduce () |
| Determines if an execution policy supports the map-reduce pattern. More...
|
|
template<typename E > |
constexpr bool | supports_stencil () |
| Determines if an execution policy supports the stencil pattern. More...
|
|
template<typename E > |
constexpr bool | supports_divide_conquer () |
| Determines if an execution policy supports the divide-conquer pattern. More...
|
|
template<typename E > |
constexpr bool | supports_pipeline () |
| Determines if an execution policy supports the pipeline pattern. More...
|
|
template<typename F , typename ... Iterators, template< typename ... > class T> |
decltype(auto) | apply_deref_increment (F &&f, T< Iterators... > &iterators) |
| Applies a callable object to the values obtained from the iterators in a tuple-like object. This function takes callable object f and a tuple-like with iterators (e.g. the result of make_tuple(it1, it2, it3) ) More...
|
|
template<typename F , typename ... Iterators, template< typename... > class T> |
decltype(auto) | apply_increment (F &&f, T< Iterators... > &iterators) |
| Applies a callable object to the iterators in a tuple like-object and the increments those iterators. This function takes callable object f and a tuple-like object with iterators (e.g. the result of make_tuple(it1, it2, it3) ) More...
|
|
template<typename F , typename T > |
decltype(auto) | apply_iterators_indexed (F &&f, T &&t, std::size_t i) |
| Applies a callable object to the values obtained from the iterators in a tuple by indexing. This function takes callable object f , a tuple-like with iterators (e.g. the result of make_tuple(it1, it2, it3) ) and an integral index i . More...
|
|
template<typename T > |
auto | iterators_next (T &&t, int n) |
| Computes next n steps from a tuple of iterators. More...
|
|
template<typename ... InputIt> |
void | advance_iterators (size_t delta, InputIt &... in) |
|
template<typename ... InputIt> |
void | advance_iterators (InputIt &... in) |
|
template<typename ExecutionPolicy , typename Transformer > |
auto | run_with (ExecutionPolicy &ex, Transformer &&transform_op) |
| Define a new Context on a data stream that can be composed in other streaming patterns. More...
|
|
template<typename Execution , typename Input , typename Divider , typename Solver , typename Combiner > |
auto | divide_conquer (const Execution &ex, Input &&input, Divider &÷r_op, Solver &&solver_op, Combiner &&combiner_op) |
| Invoke md_divide-conquer. \parapm Execution Execution type. More...
|
|
template<typename Execution , typename Input , typename Divider , typename Predicate , typename Solver , typename Combiner > |
auto | divide_conquer (const Execution &ex, Input &&input, Divider &÷r_op, Predicate &&predicate_op, Solver &&solver_op, Combiner &&combiner_op) |
| Invoke md_divide-conquer. \parapm Execution Execution type. More...
|
|
template<> |
constexpr bool | is_supported< dynamic_execution > () |
| Determines if an execution policy is supported in the current compilation. More...
|
|
template<> |
constexpr bool | supports_map< dynamic_execution > () |
| Determines if an execution policy supports the map pattern. More...
|
|
template<> |
constexpr bool | supports_reduce< dynamic_execution > () |
| Determines if an execution policy supports the reduce pattern. More...
|
|
template<> |
constexpr bool | supports_map_reduce< dynamic_execution > () |
| Determines if an execution policy supports the map-reduce pattern. More...
|
|
template<> |
constexpr bool | supports_stencil< dynamic_execution > () |
| Determines if an execution policy supports the stencil pattern. More...
|
|
template<> |
constexpr bool | supports_divide_conquer< dynamic_execution > () |
| Determines if an execution policy supports the divide/conquer pattern. More...
|
|
template<> |
constexpr bool | supports_pipeline< dynamic_execution > () |
| Determines if an execution policy supports the pipeline pattern. More...
|
|
template<typename Transformer > |
auto | farm (int ntasks, Transformer &&transform_op) |
| Invoke Farm pattern on a data stream that can be composed in other streaming patterns. More...
|
|
template<typename E > |
constexpr bool | is_parallel_execution_ff () |
| Metafunction that determines if type E is parallel_execution_ff This metafunction evaluates to false if GRPPI_FF is disabled. More...
|
|
template<typename Execution , typename ... InputIterators, typename InputIt , typename OutputIt , typename Transformer , requires_iterators< InputIterators... > = 0, requires_iterator< InputIt > = 0, requires_iterator< OutputIt > = 0> |
void | map (const Execution &ex, std::tuple< InputIterators... > firsts, InputIt last, OutputIt first_out, Transformer transform_op) |
| Invoke Map pattern on a data sequence. More...
|
|
template<typename Execution , typename ... InputIterators, typename OutputIt , typename Transformer , requires_iterators< InputIterators... > = 0, requires_iterator< OutputIt > = 0> |
void | map (const Execution &ex, std::tuple< InputIterators... > firsts, std::size_t range, OutputIt first_out, Transformer transformer_op) |
| Invoke Map pattern on a data sequence. More...
|
|
template<typename Execution , typename InputIt , typename OutputIt , typename Transformer , requires_iterator< InputIt > = 0, requires_iterator< OutputIt > = 0> |
void | map (const Execution &ex, InputIt first, InputIt last, OutputIt first_out, Transformer transform_op) |
| Invoke Map pattern on a data sequence. More...
|
|
template<typename Execution , typename InputIt , typename OutputIt , typename Transformer , typename ... OtherInputIts, requires_iterator< InputIt > = 0, requires_iterator< OutputIt > = 0> |
void | map (const Execution &ex, InputIt first, InputIt last, OutputIt first_out, Transformer transform_op, OtherInputIts ... other_firsts) |
| Invoke Map pattern on a data sequence. More...
|
|
template<typename Execution , typename ... InputIterators, typename Identity , typename Transformer , typename Combiner , requires_iterators< InputIterators... > = 0> |
auto | map_reduce (const Execution &ex, std::tuple< InputIterators... > firsts, std::size_t size, Identity &&identity, Transformer &&transform_op, Combiner &&combine_op) |
| Invoke md_map-reduce on a data sequence. More...
|
|
template<typename Execution , typename ... InputIterators, typename InputIt , typename Identity , typename Transformer , typename Combiner , requires_iterators< InputIterators... > = 0, requires_iterator< InputIt > = 0> |
auto | map_reduce (const Execution &ex, std::tuple< InputIterators... > firsts, InputIt last, Identity &&identity, Transformer &&transform_op, Combiner &&combine_op) |
| Invoke md_map-reduce on a data sequence. More...
|
|
template<typename Execution , typename InputIterator , typename Identity , typename Transformer , typename Combiner , requires_iterator< InputIterator > = 0> |
auto | map_reduce (const Execution &ex, InputIterator first, InputIterator last, Identity &&identity, Transformer &&transform_op, Combiner &&combine_op) |
| Invoke md_map-reduce on a data sequence. More...
|
|
template<typename Execution , typename InputIterator , typename Identity , typename Transformer , typename Combiner , typename ... OtherInputIterators, requires_iterator< InputIterator > = 0> |
auto | map_reduce (const Execution &ex, InputIterator first, InputIterator last, Identity &&identity, Transformer &&transform_op, Combiner &&combine_op, OtherInputIterators ... other_firsts) |
| Invoke md_map-reduce on multiple data sequences. More...
|
|
template<typename E > |
constexpr bool | is_parallel_execution_native () |
| Metafunction that determines if type E is parallel_execution_native. More...
|
|
template<> |
constexpr bool | is_supported< parallel_execution_native > () |
| Determines if an execution policy is supported in the current compilation. More...
|
|
template<> |
constexpr bool | supports_map< parallel_execution_native > () |
| Determines if an execution policy supports the map pattern. More...
|
|
template<> |
constexpr bool | supports_reduce< parallel_execution_native > () |
| Determines if an execution policy supports the reduce pattern. More...
|
|
template<> |
constexpr bool | supports_map_reduce< parallel_execution_native > () |
| Determines if an execution policy supports the map-reduce pattern. More...
|
|
template<> |
constexpr bool | supports_stencil< parallel_execution_native > () |
| Determines if an execution policy supports the stencil pattern. More...
|
|
template<> |
constexpr bool | supports_divide_conquer< parallel_execution_native > () |
| Determines if an execution policy supports the divide/conquer pattern. More...
|
|
template<> |
constexpr bool | supports_pipeline< parallel_execution_native > () |
| Determines if an execution policy supports the pipeline pattern. More...
|
|
template<typename E > |
constexpr bool | is_parallel_execution_omp () |
| Metafunction that determines if type E is parallel_execution_omp. More...
|
|
template<> |
constexpr bool | is_supported< parallel_execution_omp > () |
| Determines if an execution policy is supported in the current compilation. More...
|
|
template<> |
constexpr bool | supports_map< parallel_execution_omp > () |
| Determines if an execution policy supports the map pattern. More...
|
|
template<> |
constexpr bool | supports_reduce< parallel_execution_omp > () |
| Determines if an execution policy supports the reduce pattern. More...
|
|
template<> |
constexpr bool | supports_map_reduce< parallel_execution_omp > () |
| Determines if an execution policy supports the map-reduce pattern. More...
|
|
template<> |
constexpr bool | supports_stencil< parallel_execution_omp > () |
| Determines if an execution policy supports the stencil pattern. More...
|
|
template<> |
constexpr bool | supports_divide_conquer< parallel_execution_omp > () |
| Determines if an execution policy supports the divide/conquer pattern. More...
|
|
template<> |
constexpr bool | supports_pipeline< parallel_execution_omp > () |
| Determines if an execution policy supports the pipeline pattern. More...
|
|
template<typename Execution , typename Generator , typename ... Transformers, requires_execution_supported< std::decay_t< Execution >> = 0> |
void | pipeline (const Execution &ex, Generator &&generate_op, Transformers &&... transform_ops) |
| Invoke Pipeline pattern on a data stream. More...
|
|
template<typename Transformer , typename ... Transformers, requires_execution_not_supported< std::decay_t< Transformer >> = 0> |
auto | pipeline (Transformer &&transform_op, Transformers &&... transform_ops) |
| Build a composable Pipeline pattern representation that can be composed in other streaming patterns. More...
|
|
template<typename Execution , typename InputIt , typename Result , typename Combiner , requires_iterator< InputIt > = 0> |
auto | reduce (const Execution &ex, InputIt first, std::size_t size, Result &&identity, Combiner &&combine_op) |
| Invoke Reduce pattern with identity value on a data sequence with sequential execution. More...
|
|
template<typename Execution , typename InputIt , typename Result , typename Combiner , requires_iterator< InputIt > = 0> |
auto | reduce (const Execution &ex, InputIt first, InputIt last, Result &&identity, Combiner &&combine_op) |
| Invoke Reduce pattern with identity value on a data sequence with sequential execution. More...
|
|
template<typename E > |
constexpr bool | is_sequential_execution () |
| Determine if a type is a sequential execution policy. More...
|
|
template<> |
constexpr bool | is_supported< sequential_execution > () |
| Determines if an execution policy is supported in the current compilation. More...
|
|
template<> |
constexpr bool | supports_map< sequential_execution > () |
| Determines if an execution policy supports the map pattern. More...
|
|
template<> |
constexpr bool | supports_reduce< sequential_execution > () |
| Determines if an execution policy supports the reduce pattern. More...
|
|
template<> |
constexpr bool | supports_map_reduce< sequential_execution > () |
| Determines if an execution policy supports the map-reduce pattern. More...
|
|
template<> |
constexpr bool | supports_stencil< sequential_execution > () |
| Determines if an execution policy supports the stencil pattern. More...
|
|
template<> |
constexpr bool | supports_divide_conquer< sequential_execution > () |
| Determines if an execution policy supports the divide/conquer pattern. More...
|
|
template<> |
constexpr bool | supports_pipeline< sequential_execution > () |
| Determines if an execution policy supports the pipeline pattern. More...
|
|
template<typename Execution , typename ... InputIterators, typename OutputIt , typename StencilTransformer , typename Neighbourhood , requires_iterators< InputIterators... > = 0, requires_iterator< OutputIt > = 0> |
void | stencil (const Execution &ex, std::tuple< InputIterators... > firsts, std::size_t size, OutputIt out, StencilTransformer &&transform_op, Neighbourhood &&neighbour_op) |
| Invoke Stencil pattern on a data sequence with sequential execution. More...
|
|
template<typename Execution , typename ... InputIterators, typename InputIt , typename OutputIt , typename StencilTransformer , typename Neighbourhood , requires_iterators< InputIterators... > = 0, requires_iterator< InputIt > = 0, requires_iterator< OutputIt > = 0> |
void | stencil (const Execution &ex, std::tuple< InputIterators... > firsts, InputIt last, OutputIt out, StencilTransformer &&transform_op, Neighbourhood &&neighbour_op) |
| Invoke Stencil pattern on a data sequence with sequential execution. More...
|
|
template<typename Execution , typename InputIt , typename OutputIt , typename StencilTransformer , typename Neighbourhood , requires_iterator< InputIt > = 0, requires_iterator< OutputIt > = 0> |
void | stencil (const Execution &ex, InputIt first, InputIt last, OutputIt out, StencilTransformer &&transform_op, Neighbourhood &&neighbour_op) |
| Invoke Stencil pattern on a data sequence with sequential execution. More...
|
|
template<typename Execution , typename InputIt , typename OutputIt , typename StencilTransformer , typename Neighbourhood , typename ... OtherInputIts, requires_iterator< InputIt > = 0, requires_iterator< OutputIt > = 0> |
void | stencil (const Execution &ex, InputIt first, InputIt last, OutputIt out, StencilTransformer &&transform_op, Neighbourhood &&neighbour_op, OtherInputIts ... other_firsts) |
| Invoke Stencil pattern on multiple data sequences with sequential execution. More...
|
|
template<typename Predicate > |
auto | keep (Predicate &&predicate_op) |
| Invoke md_stream-filter on a data stream that can be composed in other streaming patterns. This function keeps in the stream only those items that satisfy the predicate. More...
|
|
template<typename Predicate > |
auto | discard (Predicate &&predicate_op) |
| Invoke md_stream-filter on a data stream that can be composed in other streaming patterns. This function discards from the stream those items that satisfy the predicate. More...
|
|
template<typename Transformer , typename Predicate > |
auto | repeat_until (Transformer &&transform_op, Predicate &&predicate_op) |
|
template<typename Identity , typename Combiner > |
auto | reduce (int window_size, int offset, Identity identity, Combiner &&combine_op) |
| Invoke md_stream-reduce on a stream that can be composed in other streaming patterns. More...
|
|
template<typename E > |
constexpr bool | is_parallel_execution_tbb () |
| Metafunction that determines if type E is parallel_execution_tbb. More...
|
|
template<> |
constexpr bool | is_supported< parallel_execution_tbb > () |
| Determines if an execution policy is supported in the current compilation. More...
|
|
template<> |
constexpr bool | supports_map< parallel_execution_tbb > () |
| Determines if an execution policy supports the map pattern. More...
|
|
template<> |
constexpr bool | supports_reduce< parallel_execution_tbb > () |
| Determines if an execution policy supports the reduce pattern. More...
|
|
template<> |
constexpr bool | supports_map_reduce< parallel_execution_tbb > () |
| Determines if an execution policy supports the map-reduce pattern. More...
|
|
template<> |
constexpr bool | supports_stencil< parallel_execution_tbb > () |
| Determines if an execution policy supports the stencil pattern. More...
|
|
template<> |
constexpr bool | supports_divide_conquer< parallel_execution_tbb > () |
| Determines if an execution policy supports the divide/conquer pattern. More...
|
|
template<> |
constexpr bool | supports_pipeline< parallel_execution_tbb > () |
| Determines if an execution policy supports the pipeline pattern. More...
|
|