|
template<typename... InputIt> |
void | advance_iterators (size_t delta, InputIt &...in) |
|
template<typename... InputIt> |
void | advance_iterators (InputIt &...in) |
|
template<typename Execution , typename Transformer > |
auto | farm (Execution &ex, Transformer &&transform_op) |
| Invoke Farm pattern on a data stream that can be composed in other streaming patterns. More...
|
|
template<typename Input , typename Divider , typename Solver , typename Combiner > |
std::result_of< Solver(Input)>::type | internal_divide_conquer (parallel_execution_native &p, Input &input, Divider &÷_op, Solver &&solve_op, Combiner &&combine_op, std::atomic< int > &num_threads) |
|
template<typename Input , typename Divider , typename Solver , typename Combiner > |
std::result_of< Solver(Input)>::type | divide_conquer (parallel_execution_native &ex, Input &problem, Divider &÷_op, Solver &&solve_op, Combiner &&combine_op) |
| Invoke Divide/conquer pattern with native parallel execution. More...
|
|
template<typename Generator , typename Consumer > |
void | farm (parallel_execution_native &ex, Generator generate_op, Consumer consume_op) |
| Invoke Farm pattern on a data stream with native parallel execution with a generator and a consumer. More...
|
|
template<typename Generator , typename Transformer , typename Consumer > |
void | farm (parallel_execution_native &ex, Generator generate_op, Transformer transform_op, Consumer consume_op) |
| Invoke Farm pattern on a data stream with native parallel execution with a generator and a consumer. More...
|
|
template<typename InputIt , typename OutputIt , typename Transformer > |
void | map (parallel_execution_native &ex, InputIt first, InputIt last, OutputIt first_out, Transformer &&transf_op) |
| Invoke Map pattern on a data sequence with native paralell execution. More...
|
|
template<typename InputIt , typename OutputIt , typename Transformer , typename... OtherInputIts> |
void | map (parallel_execution_native &ex, InputIt first, InputIt last, OutputIt first_out, Transformer &&transf_op, OtherInputIts...more_inputs) |
| Invoke Map pattern on a data sequence with native parallel execution. More...
|
|
template<typename InputIt , typename Result , typename Transformer , typename Combiner > |
Result | map_reduce (parallel_execution_native &ex, InputIt first, InputIt last, Result identity, Transformer &&transform_op, Combiner &&combine_op) |
| Invoke Map/reduce pattern on a data sequence with native parallel execution. More...
|
|
template<typename E > |
constexpr bool | is_parallel_execution_native () |
| Metafunction that determines if type E is parallel_execution_native. More...
|
|
template<typename E > |
constexpr bool | is_supported () |
| Metafunction that determines if type E is supported in the current build. More...
|
|
template<> |
constexpr bool | is_supported< parallel_execution_native > () |
| Specialization stating that parallel_execution_native is supported. More...
|
|
template<typename InQueue , typename OutQueue , int Index, typename... MoreTransformers, internal::requires_index_last< Index, MoreTransformers... > = 0> |
void | composed_pipeline (InQueue &input_queue, const pipeline_info< parallel_execution_native, MoreTransformers... > &pipe, OutQueue &output_queue, std::vector< std::thread > &tasks) |
|
template<typename InQueue , typename Transformer , typename OutQueue > |
void | composed_pipeline (parallel_execution_native &ex, InQueue &input_queue, Transformer &&transform_op, OutQueue &output_queue, std::vector< std::thread > &tasks) |
|
template<typename InQueue , typename Consumer > |
void | pipeline_impl (parallel_execution_native &ex, InQueue &input_queue, Consumer &&consume) |
|
template<typename Combiner , typename Identity , typename InQueue , typename... MoreTransformers> |
void | pipeline_impl (parallel_execution_native &ex, InQueue &input_queue, reduction_info< parallel_execution_native, Combiner, Identity > &reduction_obj, MoreTransformers...more_transform_ops) |
|
template<typename Combiner , typename Identity , typename InQueue , typename... MoreTransformers> |
void | pipeline_impl (parallel_execution_native &ex, InQueue &input_queue, reduction_info< parallel_execution_native, Combiner, Identity > &&reduction_obj, MoreTransformers...more_transform_ops) |
|
template<typename Combiner , typename Identity , typename InQueue , typename... MoreTransformers> |
void | pipeline_impl_ordered (parallel_execution_native &ex, InQueue &input_queue, reduction_info< parallel_execution_native, Combiner, Identity > &&reduction_obj, MoreTransformers...more_transform_ops) |
|
template<typename Transformer , typename InQueue , typename... MoreTransformers> |
void | pipeline_impl (parallel_execution_native &ex, InQueue &input_queue, filter_info< parallel_execution_native, Transformer > &filter_obj, MoreTransformers &&...more_transform_ops) |
|
template<typename Transformer , typename InQueue , typename... MoreTransformers> |
void | pipeline_impl_ordered (parallel_execution_native &ex, InQueue &input_queue, filter_info< parallel_execution_native, Transformer > &&filter_obj, MoreTransformers &&...more_transform_ops) |
|
template<typename Transformer , typename InQueue , typename... MoreTransformers> |
void | pipeline_impl_unordered (parallel_execution_native &ex, InQueue &input_queue, filter_info< parallel_execution_native, Transformer > &&filter_obj, MoreTransformers &&...more_transform_ops) |
|
template<typename Transformer , typename InQueue , typename... MoreTransformers> |
void | pipeline_impl (parallel_execution_native &ex, InQueue &input_queue, filter_info< parallel_execution_native, Transformer > &&filter_obj, MoreTransformers &&...more_transform_ops) |
|
template<typename Transformer , typename InQueue , typename... MoreTransformers> |
void | pipeline_impl (parallel_execution_native &ex, InQueue &input_queue, farm_info< parallel_execution_native, Transformer > &farm_obj, MoreTransformers &&...more_transform_ops) |
|
template<typename Transformer , typename InQueue , typename... MoreTransformers> |
void | pipeline_impl (parallel_execution_native &p, InQueue &input_queue, farm_info< parallel_execution_native, Transformer > &&farm_obj, MoreTransformers &&...more_transform_ops) |
|
template<typename Transformer , typename InQueue , typename... MoreTransformers> |
void | pipeline_impl (parallel_execution_native &ex, InQueue &input_queue, Transformer &&transform_op, MoreTransformers &&...more_transform_ops) |
|
template<typename Generator , typename... Transformers, requires_no_arguments< Generator > = 0> |
void | pipeline (parallel_execution_native &ex, Generator &&generate_op, Transformers &&...transform_ops) |
| Invoke Pipeline pattern on a data stream with native parallel execution. More...
|
|
template<typename InputIt , typename Identity , typename Combiner > |
auto | reduce (parallel_execution_native &ex, InputIt first, InputIt last, Identity identity, Combiner &&combine_op) |
| Invoke Reduce pattern with identity value on a data sequence with parallel native execution. More...
|
|
template<typename InputIt , typename OutputIt , typename StencilTransformer , typename Neighbourhood > |
void | stencil (parallel_execution_native &ex, InputIt first, InputIt last, OutputIt first_out, StencilTransformer transform_op, Neighbourhood neighbour_op) |
| Invoke Stencil pattern on a data sequence with native parallel execution. More...
|
|
template<typename InputIt , typename OutputIt , typename StencilTransformer , typename Neighbourhood , typename... OtherInputIts> |
void | stencil (parallel_execution_native &ex, InputIt first, InputIt last, OutputIt first_out, StencilTransformer transform_op, Neighbourhood neighbour_op, OtherInputIts...other_firsts) |
| Invoke Stencil pattern on multiple data sequences with native parallel execution. More...
|
|
template<typename Generator , typename Predicate , typename Consumer > |
void | keep (parallel_execution_native &ex, Generator generate_op, Predicate predicate_op, Consumer consume_op) |
| Invoke Filter pattern pattern on a data sequence with sequential execution policy. This function keeps in the stream only those items that satisfy the predicate. More...
|
|
template<typename Generator , typename Predicate , typename Consumer > |
void | discard (parallel_execution_native &ex, Generator generate_op, Predicate predicate_op, Consumer consume_op) |
| Invoke Filter pattern on a data sequence with sequential execution policy. This function discards from the stream those items that satisfy the predicate. More...
|
|
template<typename Generator , typename Predicate , typename Consumer , typename... MoreTransformers> |
void | repeat_until (parallel_execution_native &ex, Generator &&generate_op, pipeline_info< parallel_execution_native, MoreTransformers... > &&pipe, Predicate predicate_op, Consumer consume_op) |
| Invoke Stream iteration pattern on a data stream with native parallel execution with a generator, a predicate, a consumer and a pipeline as a transformer. More...
|
|
template<typename Generator , typename Transformer , typename Predicate , typename Consumer > |
void | repeat_until (parallel_execution_native &ex, Generator generate_op, farm_info< parallel_execution_native, Transformer > &&farm, Predicate predicate_op, Consumer consume_op) |
| Invoke Stream iteration pattern on a data stream with native parallel execution with a generator, a predicate, a consumer and a farm as a transformer. More...
|
|
template<typename Generator , typename Transformer , typename Predicate , typename Consumer > |
void | repeat_until (parallel_execution_native &ex, Generator generate_op, Transformer transform_op, Predicate predicate_op, Consumer consume_op) |
| Invoke Stream iteration pattern on a data stream with native parallel execution with a generator, a predicate, a transformer and a consumer. More...
|
|
template<typename Identity , typename Combiner , typename Consumer , typename Generator > |
void | stream_reduce (parallel_execution_native &ex, int window_size, int offset, Identity identity, Generator &&generate_op, Combiner &&combine_op, Consumer &&consume_op) |
| Invoke Stream reduction pattern on a stream with native parallel execution. More...
|
|
template<typename Input , typename Divider , typename Solver , typename Combiner > |
std::result_of< Solver(Input)>::type | internal_divide_conquer (parallel_execution_omp &ex, Input &input, Divider &÷_op, Solver &&solve_op, Combiner &&combine_op, std::atomic< int > &num_threads) |
|
template<typename Input , typename Divider , typename Solver , typename Combiner > |
std::result_of< Solver(Input)>::type | divide_conquer (parallel_execution_omp &ex, Input &input, Divider &÷_op, Solver &&solve_op, Combiner &&combine_op) |
| Invoke Divide/conquer pattern with OpenMP parallel execution. More...
|
|
template<typename Generator , typename Consumer > |
void | farm (parallel_execution_omp &ex, Generator generate_op, Consumer consume_op) |
| Invoke the Farm pattern on a data stream with OpenMP parallel execution with a generator and a consumer. More...
|
|
template<typename Generator , typename Transformer , typename Consumer > |
void | farm (parallel_execution_omp &ex, Generator generate_op, Transformer transform_op, Consumer consume_op) |
| Invoke the Farm pattern on a data stream with OpenMP parallel execution with a generator, a transformer, and a consumer. More...
|
|
template<typename InputIt , typename OutputIt , typename Transformer , typename... OtherInputIts> |
void | internal_map (parallel_execution_omp &ex, InputIt first, InputIt last, OutputIt first_out, Transformer &&transf_op, int i, int elemperthr, OtherInputIts...more_firsts) |
|
template<typename InputIt , typename OutputIt , typename Transformer > |
void | map (parallel_execution_omp &ex, InputIt first, InputIt last, OutputIt first_out, Transformer &&transf_op) |
| Invoke Map pattern on a data sequence with OpenMP parallel execution. More...
|
|
template<typename InputIt , typename OutputIt , typename Transformer , typename... OtherInputIts> |
void | map (parallel_execution_omp &ex, InputIt first, InputIt last, OutputIt first_out, Transformer &&transf_op, OtherInputIts...more_firsts) |
| Invoke Map pattern on a data sequence with OpenMP execution. More...
|
|
template<typename InputIt , typename Transformer , typename Result , typename Combiner > |
Result | map_reduce (parallel_execution_omp &ex, InputIt first, InputIt last, Result identity, Transformer &&transform_op, Combiner &&combine_op) |
| Invoke Map/reduce pattern on a data sequence with native parallel execution. 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 > () |
| Specialization stating that parallel_execution_omp is supported. This metafunction evaluates to false if GRPPI_OMP is enabled. More...
|
|
template<typename InQueue , typename Consumer > |
void | pipeline_impl (parallel_execution_omp &ex, InQueue &input_queue, Consumer &&consume_op) |
|
template<typename Combiner , typename Identity , typename InQueue , typename... MoreTransformers> |
void | pipeline_impl (parallel_execution_omp &ex, InQueue &input_queue, reduction_info< parallel_execution_omp, Combiner, Identity > &reduction_obj, MoreTransformers...more_transform_ops) |
|
template<typename Combiner , typename Identity , typename InQueue , typename... MoreTransformers> |
void | pipeline_impl (parallel_execution_omp &ex, InQueue &input_queue, reduction_info< parallel_execution_omp, Combiner, Identity > &&reduction_obj, MoreTransformers...more_transform_ops) |
|
template<typename Combiner , typename Identity , typename InQueue , typename... MoreTransformers> |
void | pipeline_impl_ordered (parallel_execution_omp &ex, InQueue &input_queue, reduction_info< parallel_execution_omp, Combiner, Identity > &&reduction_obj, MoreTransformers...more_transform_ops) |
|
template<typename Transformer , typename InQueue , typename... MoreTransformers> |
void | pipeline_impl (parallel_execution_omp &ex, InQueue &input_queue, filter_info< parallel_execution_omp, Transformer > &filter_obj, MoreTransformers &&...more_transform_ops) |
|
template<typename Transformer , typename InQueue , typename... MoreTransformers> |
void | pipeline_impl_ordered (parallel_execution_omp &ex, InQueue &input_queue, filter_info< parallel_execution_omp, Transformer > &&filter_obj, MoreTransformers &&...more_transform_ops) |
|
template<typename Transformer , typename InQueue , typename... MoreTransformers> |
void | pipeline_impl_unordered (parallel_execution_omp &ex, InQueue &input_queue, filter_info< parallel_execution_omp, Transformer > &&farm_obj, MoreTransformers &&...more_transform_ops) |
|
template<typename Transformer , typename InQueue , typename... MoreTransformers> |
void | pipeline_impl (parallel_execution_omp &ex, InQueue &input_queue, filter_info< parallel_execution_omp, Transformer > &&filter_obj, MoreTransformers &&...more_transform_ops) |
|
template<typename Transformer , typename InQueue , typename... MoreTransformers> |
void | pipeline_impl (parallel_execution_omp &ex, InQueue &input_queue, farm_info< parallel_execution_omp, Transformer > &farm_obj, MoreTransformers &&...more_transform_ops) |
|
template<typename Transformer , typename InQueue , typename... MoreTransformers> |
void | pipeline_impl (parallel_execution_omp &ex, InQueue &input_queue, farm_info< parallel_execution_omp, Transformer > &&farm_obj, MoreTransformers &&...sgs) |
|
template<typename Transformer , typename InQueue , typename... MoreTransformers> |
void | pipeline_impl (parallel_execution_omp &ex, InQueue &input_queue, Transformer &&transform_op, MoreTransformers &&...more_transform_ops) |
|
template<typename Generator , typename... Transformers, requires_no_arguments< Generator > = 0> |
void | pipeline (parallel_execution_omp &ex, Generator &&generate_op, Transformers &&...transform_ops) |
| Invoke Pipeline pattern on a data stream with OpenMP parallel execution. More...
|
|
template<typename InputIt , typename Identity , typename Combiner > |
auto | reduce (parallel_execution_omp &ex, InputIt first, InputIt last, Identity identity, Combiner &&combine_op) |
| Invoke Reduce pattern with identity value on a data sequence with parallel OpenMP execution. More...
|
|
template<typename InputIt , typename OutputIt , typename StencilTransformer , typename Neighbourhood , typename... OtherInputIts> |
void | internal_stencil (parallel_execution_omp &ex, InputIt first, InputIt last, OutputIt first_out, StencilTransformer transform_op, Neighbourhood neighbour_op, int i, int elements_per_thread, OtherInputIts...other_firsts) |
|
template<typename InputIt , typename OutputIt , typename StencilTransformer , typename Neighbourhood > |
void | stencil (parallel_execution_omp &ex, InputIt first, InputIt last, OutputIt first_out, StencilTransformer transform_op, Neighbourhood neighbour_op) |
| Invoke Stencil pattern on a data sequence with OpenMP parallel execution. More...
|
|
template<typename InputIt , typename OutputIt , typename StencilTransformer , typename Neighbourhood , typename... OtherInputIts> |
void | stencil (parallel_execution_omp &ex, InputIt first, InputIt last, OutputIt first_out, StencilTransformer &&transform_op, Neighbourhood &&neighbour_op, OtherInputIts...other_firsts) |
| Invoke Stencil pattern on multiple data sequences with TBB parallel execution. More...
|
|
template<typename Generator , typename Predicate , typename Consumer > |
void | keep (parallel_execution_omp &ex, Generator generate_op, Predicate predicate_op, Consumer consume_op) |
| Invoke Filter pattern on a data sequence with sequential execution policy. This function keeps in the stream only those items that satisfy the predicate. More...
|
|
template<typename Generator , typename Predicate , typename Consumer > |
void | discard (parallel_execution_omp &ex, Generator generate_op, Predicate predicate_op, Consumer consume_op) |
| Invoke Filter pattern on a data sequence with sequential execution policy. This function discards from the stream those items that satisfy the predicate. More...
|
|
template<typename Identity , typename Combiner , typename Consumer , typename Generator > |
void | stream_reduce (parallel_execution_omp &ex, int window_size, int offset, Identity identity, Generator &&generate_op, Combiner &&combine_op, Consumer &&consume_op) |
| Invoke Stream reduction pattern on a stream with OpenMP parallel execution. More...
|
|
template<typename Execution , typename Transformer , typename... MoreTransformers, requires_arguments< Transformer > = 0> |
pipeline_info< Execution, Transformer, MoreTransformers... > | pipeline (Execution &ex, Transformer &&transform_op, MoreTransformers &&...more_transform_ops) |
| Build a composable Pipeline pattern representation that can be composed in other streaming patterns. More...
|
|
template<typename Input , typename Divider , typename Solver , typename Combiner > |
std::result_of< Solver(Input)>::type | divide_conquer_multi_impl (polymorphic_execution &ex, Input &input, Divider &÷_op, Solver &&solve_op, Combiner &&combine_op) |
|
template<typename E , typename... O, typename Input , typename Divider , typename Solver , typename Combiner , internal::requires_execution_not_supported< E > = 0> |
std::result_of< Solver(Input)>::type | divide_conquer_multi_impl (polymorphic_execution &ex, Input &input, Divider &÷_op, Solver &&solve_op, Combiner &&combine_op) |
|
template<typename Input , typename Divider , typename Solver , typename Combiner > |
std::result_of< Solver(Input)>::type | divide_conquer (polymorphic_execution &ex, Input &input, Divider &÷_op, Solver &&solve_op, Combiner &&combine_op) |
| Invoke Divide/conquer pattern with polymorphic execution. More...
|
|
template<typename Generator , typename Consumer > |
void | farm_multi_impl (polymorphic_execution &ex, Generator generate_op, Consumer consume_op) |
|
template<typename Generator , typename Transformer , typename Consumer > |
void | farm_multi_impl (polymorphic_execution &ex, Generator generate_op, Transformer transform_op, Consumer consume_op) |
|
template<typename E , typename... O, typename Generator , typename Transformer , internal::requires_execution_not_supported< E > = 0> |
void | farm_multi_impl (polymorphic_execution &ex, Generator &&generate_op, Transformer &&transform_op) |
|
template<typename E , typename... O, typename Generator , typename Transformer , typename Consumer , internal::requires_execution_not_supported< E > = 0> |
void | farm_multi_impl (polymorphic_execution &ex, Generator &&generate_op, Transformer &&transform_op, Consumer &&consume_op) |
|
template<typename E , typename... O, typename Generator , typename Consumer , internal::requires_execution_supported< E > = 0> |
void | farm_multi_impl (polymorphic_execution &ex, Generator &&generate_op, Consumer &&consume_op) |
|
template<typename Generator , typename Consumer > |
void | farm (polymorphic_execution &ex, Generator &&generate_op, Consumer &&consume_op) |
| Invoke Farm pattern on a data stream with polymorphic execution with a generator and a consumer. More...
|
|
template<typename Generator , typename Transformer , typename Consumer > |
void | farm (polymorphic_execution &ex, Generator &&generate_op, Transformer &&transform_op, Consumer &&consume_op) |
| Invoke Farm pattern on a data stream with polymorphic execution with a generator and a consumer. More...
|
|
template<typename InputIt , typename OutputIt , typename Transformer > |
void | map_multi_impl (polymorphic_execution &e, InputIt first, InputIt last, OutputIt first_out, Transformer &&op) |
|
template<typename InputIt , typename OutputIt , typename Transformer , typename InputIt2 , typename... OtherInputIts> |
void | map_multi_impl (polymorphic_execution &e, InputIt first, InputIt last, OutputIt first_out, Transformer &&op, InputIt2 first2, OtherInputIts...more_firsts) |
|
template<typename E , typename... O, typename InputIt , typename OutputIt , typename Transformer , internal::requires_execution_not_supported< E > = 0> |
void | map_multi_impl (polymorphic_execution &e, InputIt first, InputIt last, OutputIt first_out, Transformer &&op) |
|
template<typename E , typename... O, typename InputIt , typename OutputIt , typename Transformer , typename InputIt2 , typename... OtherInputIts, internal::requires_execution_not_supported< E > = 0> |
void | map_multi_impl (polymorphic_execution &e, InputIt first, InputIt last, OutputIt first_out, Transformer &&op, InputIt2 first2, OtherInputIts...more_firsts) |
|
template<typename InputIt , typename OutputIt , typename Transformer > |
void | map (polymorphic_execution &ex, InputIt first, InputIt last, OutputIt first_out, Transformer &&transf_op) |
| Invoke map-pattern on a data sequence with polymorphic execution. More...
|
|
template<typename InputIt , typename OutputIt , typename InputIt2 , typename Transformer , typename... OtherInputIts> |
void | map (polymorphic_execution &ex, InputIt first, InputIt last, OutputIt first_out, Transformer &&op, InputIt2 first2, OtherInputIts...more_firsts) |
| Invoke map-pattern on a data sequence with polymorphic parallel execution. More...
|
|
template<typename InputIt , typename Transformer , typename Identity , typename Combiner > |
Identity | map_reduce_multi_impl (polymorphic_execution &e, InputIt first, InputIt last, Identity identity, Transformer &&transform_op, Combiner &&combine_op) |
|
template<typename E , typename... O, typename InputIt , typename Transformer , typename Identity , typename Combiner , internal::requires_execution_not_supported< E > = 0> |
Identity | map_reduce_multi_impl (polymorphic_execution &e, InputIt first, InputIt last, Identity identity, Transformer &&transform_op, Combiner &&combine_op) |
|
template<typename InputIt , typename Transformer , typename Result , typename Combiner > |
Result | map_reduce (polymorphic_execution &ex, InputIt first, InputIt last, Result identity, Transformer &&transform_op, Combiner &&combine_op) |
| Invoke Map/reduce pattern on a data sequence with polymorphic execution. More...
|
|
template<typename Execution , typename Transformer , typename... MoreTransformers, requires_arguments< Transformer > = 0> |
pipeline_info< Execution, Transformer, MoreTransformers... > | transform_pipeline (Execution &ex, std::tuple< Transformer, MoreTransformers... > &&transform_ops) |
|
template<typename Generator , typename... Transformers> |
void | pipeline_multi_impl (polymorphic_execution &, Generator &&, Transformers &&...) |
|
template<typename E , typename... O, typename Generator , typename... Transformers, internal::requires_execution_not_supported< E > = 0> |
void | pipeline_multi_impl (polymorphic_execution &ex, Generator &&generate_op, Transformers &&...transform_ops) |
|
template<typename Generator , typename... Transformers, requires_no_arguments< Generator > = 0> |
void | pipeline (polymorphic_execution &ex, Generator &&generate_op, Transformers &&...transform_ops) |
| Invoke Pipeline pattern on a data stream with polymorphic execution. More...
|
|
template<typename E > |
constexpr bool | is_execution_policy () |
| Meta-function to determine if a type is an execution policy. More...
|
|
template<typename E > |
polymorphic_execution | make_polymorphic_execution () |
|
template<typename InputIt , typename Identity , typename Combiner > |
auto | reduce_multi_impl (polymorphic_execution &ex, InputIt first, InputIt last, Identity identity, Combiner &&combine_op) -> decltype(combine_op(*first,*first)) |
|
template<typename E , typename... O, typename InputIt , typename Identity , typename Combiner , internal::requires_execution_not_supported< E > = 0> |
auto | reduce_multi_impl (polymorphic_execution &ex, InputIt first, InputIt last, Identity identity, Combiner &&combine_op) |
|
template<typename InputIt , typename Identity , typename Combiner > |
auto | reduce (polymorphic_execution &e, InputIt first, InputIt last, Identity identity, Combiner &&combine_op) |
| Invoke Reduce pattern with no identity value on a data sequence with sequential execution. More...
|
|
template<typename InputIt , typename OutputIt , typename StencilTransformer , typename Neighbourhood > |
void | stencil_multi_impl (polymorphic_execution &e, InputIt first, InputIt last, OutputIt first_out, StencilTransformer &&op, Neighbourhood &&neighbor) |
|
template<typename InputIt , typename OutputIt , typename StencilTransformer , typename Neighbourhood , typename... OtherInputIts> |
void | stencil_multi_impl (polymorphic_execution &e, InputIt first, InputIt last, OutputIt first_out, StencilTransformer &&op, Neighbourhood &&neighbor, OtherInputIts...other_its) |
|
template<typename E , typename... O, typename InputIt , typename OutputIt , typename StencilTransformer , typename Neighbourhood , internal::requires_execution_not_supported< E > = 0> |
void | stencil_multi_impl (polymorphic_execution &e, InputIt first, InputIt last, OutputIt first_out, StencilTransformer &&op, Neighbourhood &&neighbor) |
|
template<typename E , typename... O, typename InputIt , typename OutputIt , typename StencilTransformer , typename Neighbourhood , typename... OtherInputIts, internal::requires_execution_not_supported< E > = 0> |
void | stencil_multi_impl (polymorphic_execution &e, InputIt first, InputIt last, OutputIt first_out, StencilTransformer &&op, Neighbourhood &&neighbor, OtherInputIts...other_its) |
|
template<typename InputIt , typename OutputIt , typename StencilTransformer , typename Neighbourhood > |
void | stencil (polymorphic_execution &ex, InputIt first, InputIt last, OutputIt first_out, StencilTransformer &&transform_op, Neighbourhood &&neighbour_op) |
| Invoke Stencil pattern on a data sequence with polymorphic execution. More...
|
|
template<typename InputIt , typename OutputIt , typename StencilTransformer , typename Neighbourhood , typename... OtherInputIts> |
void | stencil (polymorphic_execution &ex, InputIt first, InputIt last, OutputIt first_out, StencilTransformer &&transform_op, Neighbourhood &&neighbour_op, OtherInputIts...other_its) |
| Invoke Stencil pattern on multiple data sequences with sequential execution. More...
|
|
template<typename Generator , typename Predicate , typename Consumer > |
void | keep_multi_impl (polymorphic_execution, Generator &&generate_op, Predicate predicate_op, Consumer consume_op) |
|
template<typename E , typename... O, typename Generator , typename Predicate , typename Consumer , internal::requires_execution_not_supported< E > = 0> |
void | keep_multi_impl (polymorphic_execution &ex, Generator &&generate_op, Predicate &&predicate_op, Consumer &&consume_op) |
|
template<typename Generator , typename Predicate , typename Consumer > |
void | discard_multi_impl (polymorphic_execution, Generator &&generate_op, Predicate predicate_op, Consumer consume_op) |
|
template<typename E , typename... O, typename Generator , typename Predicate , typename Consumer , internal::requires_execution_not_supported< E > = 0> |
void | discard_multi_impl (polymorphic_execution &ex, Generator &&generate_op, Predicate &&predicate_op, Consumer &&consume_op) |
|
template<typename Generator , typename Predicate , typename Consumer > |
void | keep (polymorphic_execution &ex, Generator &&generate_op, Predicate &&predicate_op, Consumer &&consume_op) |
| Invoke Filter pattern on a data sequence with polymorphic execution policy. This function keeps in the stream only those items that satisfy the predicate. More...
|
|
template<typename Generator , typename Predicate , typename Consumer > |
void | discard (polymorphic_execution &ex, Generator &&generate_op, Predicate &&predicate_op, Consumer &&consume_op) |
| Invoke Filter pattern on a data sequence with polymorphic execution policy. This function discards from the stream those items that satisfy the predicate. More...
|
|
template<typename Generator , typename Predicate , typename Consumer , typename Transformer > |
void | repeat_until_multi_impl (polymorphic_execution &e, Generator &&in, farm_info< polymorphic_execution, Transformer > &&op, Predicate &&predicate_op, Consumer &&out) |
|
template<typename E , typename... O, typename Generator , typename Predicate , typename Consumer , typename Transformer , internal::requires_execution_not_supported< E > = 0> |
void | repeat_until_multi_impl (polymorphic_execution &e, Generator &&in, pipeline_info< polymorphic_execution, Transformer > &&op, Predicate &&predicate_op, Consumer &&out) |
|
template<class E , typename... O, typename Generator , typename Predicate , typename Consumer , typename Transformer , internal::requires_execution_supported< E > = 0> |
void | repeat_until_multi_impl (polymorphic_execution &e, Generator &&in, farm_info< polymorphic_execution, Transformer > &&op, Predicate &&predicate_op, Consumer &&out) |
|
template<typename Generator , typename Predicate , typename Consumer , typename... MoreTransformers> |
void | repeat_until_multi_impl (polymorphic_execution &e, Generator &&in, pipeline_info< polymorphic_execution, MoreTransformers... > &&op, Predicate &&predicate_op, Consumer &&out) |
|
template<typename E , typename... O, typename Generator , typename Predicate , typename Consumer , typename... MoreTransformers, internal::requires_execution_not_supported< E > = 0> |
void | repeat_until_multi_impl (polymorphic_execution &e, Generator &&in, pipeline_info< polymorphic_execution, MoreTransformers... > &&op, Predicate &&predicate_op, Consumer &&out) |
|
template<typename Generator , typename Predicate , typename Consumer , typename Operation > |
void | repeat_until_multi_impl (polymorphic_execution &e, Generator &&in, Operation &&op, Predicate &&predicate_op, Consumer &&out) |
|
template<typename E , typename... O, typename Generator , typename Predicate , typename Consumer , typename Operation , internal::requires_execution_not_supported< E > = 0> |
void | repeat_until_multi_impl (polymorphic_execution &e, Generator &&in, Operation &&op, Predicate &&predicate_op, Consumer &&out) |
|
template<typename Generator , typename Predicate , typename Consumer , typename Transformer > |
void | repeat_until (polymorphic_execution &ex, Generator &&generate_op, farm_info< polymorphic_execution, Transformer > &&farm_obj, Predicate &&predicate_op, Consumer &&consume_op) |
| Invoke Stream iteration pattern on a data stream with polymorphic execution with a generator, a predicate, a consumer and a farm as a transformer. More...
|
|
template<typename Generator , typename Predicate , typename Consumer , typename... Transformers> |
void | repeat_until (polymorphic_execution &ex, Generator &&generate_op, pipeline_info< polymorphic_execution, Transformers... > &&pipe_info, Predicate &&predicate_op, Consumer &&consume_op) |
| Invoke Stream iteration pattern on a data stream with polymorphic execution with a generator, a predicate, a consumer and a pipeline as a transformer. More...
|
|
template<typename Generator , typename Transformer , typename Predicate , typename Consumer > |
void | repeat_until (polymorphic_execution &ex, Generator &&generate_op, Transformer &&transform_op, Predicate &&predicate_op, Consumer &&consume_op) |
| Invoke Stream iteration pattern on a data stream with polymorphic execution with a generator, a predicate, a transformer and a consumer. More...
|
|
template<typename Identity , typename Combiner , typename Consumer , typename Generator > |
void | stream_reduce_multi_impl (polymorphic_execution &ex, int window_size, int offset, Identity identity, Generator &&generate_op, Combiner &&combine_op, Consumer &&consume_op) |
|
template<typename E , typename... O, typename Identity , typename Generator , typename Combiner , typename Consumer , internal::requires_execution_not_supported< E > = 0> |
void | stream_reduce_multi_impl (polymorphic_execution &ex, int windowsize, int offset, Identity identity, Generator &&gen, Combiner &&comb, Consumer &&cons) |
|
template<typename Identity , typename Generator , typename Combiner , typename Consumer > |
void | stream_reduce (polymorphic_execution &ex, int windowsize, int offset, Identity identity, Generator &&gen, Combiner &&comb, Consumer &&cons) |
| Invoke Stream reduction pattern on a stream with polymorphic parallel execution. More...
|
|
template<typename Input , typename Divider , typename Solver , typename Combiner > |
std::result_of< Solver(Input)>::type | divide_conquer (sequential_execution &ex, Input &input, Divider &÷r_op, Solver &&solver_op, Combiner &&combiner_op) |
| Invoke Divide/conquer pattern with sequential execution. More...
|
|
template<typename Generator , typename Consumer > |
void | farm (sequential_execution ex, Generator generate_op, Consumer consume_op) |
| Invoke Farm pattern on a data stream with sequential execution with a generator and a consumer. More...
|
|
template<typename Generator , typename Transformer , typename Consumer > |
void | farm (sequential_execution ex, Generator generate_op, Transformer transform_op, Consumer consume_op) |
| Invoke Farm pattern on a data stream with sequential execution with a generator, a transformer, and a comsumer. More...
|
|
template<typename InputIt , typename OutputIt , typename Transformer > |
void | map (sequential_execution &ex, InputIt first, InputIt last, OutputIt first_out, Transformer &&transf_op) |
| Invoke Map pattern on a data sequence with sequential execution. More...
|
|
template<typename InputIt , typename OutputIt , typename Transformer , typename... OtherInputIts> |
void | map (sequential_execution &ex, InputIt first, InputIt last, OutputIt first_out, Transformer &&transf_op, OtherInputIts...other_firsts) |
| Invoke Map pattern on a data sequence with sequential execution. More...
|
|
template<typename InputIt , typename Result , typename Transformer , typename Combiner > |
Result | map_reduce (sequential_execution &, InputIt first, InputIt last, Result identity, Transformer &&transform_op, Combiner &&combine_op) |
| Invoke Map/reduce pattern on a data sequence with sequential execution. More...
|
|
template<typename Input , int Index, typename... MoreTransformers, internal::requires_index_last< Index, MoreTransformers... > = 0> |
auto | composed_pipeline (Input in, const pipeline_info< sequential_execution, MoreTransformers... > &pipeline_obj) |
|
template<typename Item , typename Transformer > |
void | pipeline_impl (sequential_execution &s, Item &&item, Transformer &&transform_op) |
|
template<typename Item , typename Filter , typename... MoreTransformers> |
void | pipeline_impl (sequential_execution &ex, Item &&item, const filter_info< sequential_execution, Filter > &filter_obj, MoreTransformers &&...more_transform_ops) |
|
template<typename Item , typename Transformer , typename... MoreTransformers> |
void | pipeline_impl (sequential_execution &ex, Item &&item, filter_info< sequential_execution, Transformer > &&transf_filter, MoreTransformers &&...more_transform_ops) |
|
template<typename Item , typename Transformer , typename... MoreTransformers> |
void | pipeline_impl (sequential_execution &ex, Item &&item, farm_info< sequential_execution, Transformer > &transf_farm, MoreTransformers &&...more_transform_ops) |
|
template<typename Item , typename Transformer , typename... MoreTransformers> |
void | pipeline_impl (sequential_execution &ex, Item &&item, farm_info< sequential_execution, Transformer > &&transform_farm, MoreTransformers &&...more_transform_ops) |
|
template<typename Item , typename Transformer , typename... MoreTransformers> |
void | pipeline_impl (sequential_execution &ex, Item &&item, Transformer &&transform_op, MoreTransformers &&...more_transform_ops) |
|
template<typename Generator , typename... Transformers, typename = typename std::result_of<Generator()>::type> |
void | pipeline (sequential_execution &ex, Generator &&generator_op, Transformers &&...transform_ops) |
| Invoke Pipeline pattern on a data stream with sequential execution. More...
|
|
template<typename InputIt , typename Identity , typename Combiner > |
auto | reduce (sequential_execution &ex, InputIt first, InputIt last, Identity 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 > () |
|
template<typename InputIt , typename OutputIt , typename StencilTransformer , typename Neighbourhood > |
void | stencil (sequential_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 InputIt , typename OutputIt , typename StencilTransformer , typename Neighbourhood , typename... OtherInputIts> |
void | stencil (sequential_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 Generator , typename Predicate , typename Consumer > |
void | keep (sequential_execution, Generator generate_op, Predicate predicate_op, Consumer consume_op) |
| Invoke Filter pattern on a data sequence with sequential execution policy. This function keeps in the stream only those items that satisfy the predicate. More...
|
|
template<typename Generator , typename Predicate , typename Consumer > |
void | discard (sequential_execution &ex, Generator generate_op, Predicate predicate_op, Consumer consume_op) |
| Invoke Filter pattern on a data sequence with sequential execution policy. This function discards from the stream those items that satisfy the predicate. More...
|
|
template<typename Generator , typename Transformer , typename Predicate , typename Consumer > |
void | repeat_until (sequential_execution, Generator generate_op, Transformer &&transform_op, Predicate predicate_op, Consumer consume_op) |
| Invoke Stream iteration pattern on a data stream with sequential execution with a generator, a transformer, a predicate, and a consumer. More...
|
|
template<typename Generator , typename Transformer , typename Predicate , typename Consumer > |
void | repeat_until (sequential_execution &ex, Generator &&generate_op, farm_info< sequential_execution, Transformer > &farm_obj, Predicate &&predicate_op, Consumer &&consume_op) |
| Invoke Stream iteration pattern on a data stream with sequential execution with a generator, a farm as transformer, a predicate, and a consumer. More...
|
|
template<typename Generator , typename Transformer , typename Predicate , typename Consumer > |
void | repeat_until (sequential_execution &ex, Generator generate_op, farm_info< sequential_execution, Transformer > &&farm_obj, Predicate predicate_op, Consumer consume_op) |
| Invoke Stream iteration pattern on a data stream with sequential execution with a generator, a farm as transformer, a predicate, and a consumer. More...
|
|
template<typename Generator , typename Predicate , typename Consumer , typename... Transformers> |
void | repeat_until (sequential_execution &ex, Generator &&generate_op, pipeline_info< sequential_execution, Transformers... > &pipe_obj, Predicate &&predicate_op, Consumer &&consume_op) |
| Invoke Stream iteration pattern on a data stream with sequential execution with a generator, a pipeline as transformer, a predicate, and a consumer. More...
|
|
template<typename Generator , typename Predicate , typename Consumer , typename... Transformers> |
void | repeat_until (sequential_execution &ex, Generator generate_op, pipeline_info< sequential_execution, Transformers... > &&pipe, Predicate predicate_op, Consumer consume_op) |
| Invoke Stream iteration pattern on a data stream with sequential execution with a generator, a pipeline as transformer, a predicate, and a consumer. More...
|
|
template<typename Identity , typename Combiner , typename Consumer , typename Generator > |
void | stream_reduce (sequential_execution &ex, int window_size, int offset, Identity identity, Generator &&generate_op, Combiner &&combine_op, Consumer &&consume_op) |
| Invoke Stream reduction pattern on a stream with sequential execution. More...
|
|
template<typename Execution , typename Predicate > |
auto | keep (Execution &ex, Predicate &&predicate_op) |
| Invoke Filter pattern 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 Execution , typename Predicate > |
auto | discard (Execution &ex, Predicate &&predicate_op) |
| Invoke Filter pattern 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 Execution , typename Identity , typename Combiner > |
auto | stream_reduce (Execution &ex, int window_size, int offset, Identity identity, Combiner &&combine_op) |
| Invoke Stream reduction pattern on a stream that can be composed in other streaming patterns. More...
|
|
template<typename Input , typename Divider , typename Solver , typename Combiner > |
std::result_of< Solver(Input)>::type | internal_divide_conquer (parallel_execution_tbb &ex, Input &input, Divider &÷_op, Solver &&solve_op, Combiner &&combine_op, std::atomic< int > &num_threads) |
|
template<typename Input , typename Divider , typename Solver , typename Combiner > |
std::result_of< Solver(Input)>::type | divide_conquer (parallel_execution_tbb &ex, Input &input, Divider &÷_op, Solver &&solve_op, Combiner &&combine_op) |
| Invoke Divide/conquer pattern with TBB parallel execution. More...
|
|
template<typename Generator , typename Consumer > |
void | farm (parallel_execution_tbb &ex, Generator generate_op, Consumer consume_op) |
| Invoke Farm pattern on a data stream with TBB parallel execution with a generator and a consumer. More...
|
|
template<typename Generator , typename Transformer , typename Consumer > |
void | farm (parallel_execution_tbb &ex, Generator generate_op, Transformer transform_op, Consumer consume_op) |
| Invoke Farm pattern on a data stream with TBB parallel execution with a generator and a consumer. More...
|
|
template<typename InputIt , typename OutputIt , typename Transformer > |
void | map (parallel_execution_tbb &ex, InputIt first, InputIt last, OutputIt first_out, Transformer &&transf_op) |
| Invoke Map pattern on a data sequence with TBB parallel execution. More...
|
|
template<typename InputIt , typename OutputIt , typename Transformer , typename... OtherInputIts> |
void | map (parallel_execution_tbb &ex, InputIt first, InputIt last, OutputIt first_out, Transformer &&transf_op, OtherInputIts...more_firsts) |
| Invoke Map pattern on a data sequence with TBB parallel execution. More...
|
|
template<typename InputIt , typename Transformer , typename Identity , typename Combiner > |
Identity | map_reduce (parallel_execution_tbb &p, InputIt first, InputIt last, Identity identity, Transformer &&transform_op, Combiner &&combine_op) |
| Invoke Map/reduce pattern on a data sequence with TBB parallel execution. 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 > () |
| Specialization stating that parallel_execution_tbb is supported. This metafunction evaluates to false if GRPPI_TBB is enabled. More...
|
|
template<typename Transformer , typename Input > |
auto | pipeline_impl (parallel_execution_tbb &ex, Input, Transformer &&transform_op) |
|
template<typename Transformer , typename... MoreTransformers, typename Input > |
auto | pipeline_impl (parallel_execution_tbb &ex, Input in, farm_info< parallel_execution_tbb, Transformer > &farm_obj, MoreTransformers &&...more_transform_ops) |
|
template<typename Predicate , typename... MoreTransformers, typename Input > |
auto | pipeline_impl (parallel_execution_tbb &ex, Input in, filter_info< parallel_execution_tbb, Predicate > &filter_obj, MoreTransformers &&...more_transform_ops) |
|
template<typename Predicate , typename... MoreTransformers, typename Input > |
auto | pipeline_impl (parallel_execution_tbb &ex, Input in, filter_info< parallel_execution_tbb, Predicate > &&filter_obj, MoreTransformers &&...more_transform_ops) |
|
template<typename Transformer , typename... MoreTransformers, typename Input > |
auto | pipeline_impl (parallel_execution_tbb &ex, Input, farm_info< parallel_execution_tbb, Transformer > &&farm_obj, MoreTransformers &&...more_transform_ops) |
|
template<typename Predicate , typename... MoreTransformers, typename Input > |
auto | pipeline_impl (parallel_execution_tbb &ex, Input, Predicate &&predicate_op, MoreTransformers &&...more_transform_ops) |
|
template<typename Generator , typename... Transformers, requires_no_arguments< Generator > = 0> |
void | pipeline (parallel_execution_tbb &ex, Generator generate_op, Transformers &&...transform_ops) |
| Invoke Pipeline pattern on a data stream with TBB parallel execution. More...
|
|
template<typename InputIt , typename Identity , typename Combiner > |
auto | reduce (parallel_execution_tbb &ex, InputIt first, InputIt last, Identity identity, Combiner &&combine_op) |
| Invoke Reduce pattern with identity value on a data sequence with parallel TBB execution. More...
|
|
template<typename InputIt , typename OutputIt , typename StencilTransformer , typename Neighbourhood , typename... OtherInputIts> |
void | stencil_impl (parallel_execution_tbb &ex, int elements_per_thread, int index, InputIt first, InputIt last, OutputIt first_out, StencilTransformer transform_op, Neighbourhood neighbour_op, OtherInputIts...other_firsts) |
|
template<typename InputIt , typename OutputIt , typename StencilTransformer , typename Neighbourhood > |
void | stencil (parallel_execution_tbb &ex, InputIt first, InputIt last, OutputIt first_out, StencilTransformer transform_op, Neighbourhood neighbour_op) |
| Invoke Stencil pattern on a data sequence with TBB parallel execution. More...
|
|
template<typename InputIt , typename OutputIt , typename StencilTransformer , typename Neighbourhood , typename... OtherInputIts> |
void | stencil (parallel_execution_tbb &ex, InputIt first, InputIt last, OutputIt first_out, StencilTransformer transform_op, Neighbourhood neighbour_op, OtherInputIts...other_firsts) |
| Invoke Stencil pattern on multiple data sequences with TBB parallel execution. More...
|
|
template<typename Generator , typename Predicate , typename Consumer > |
void | keep (parallel_execution_tbb &ex, Generator generate_op, Predicate predicate_op, Consumer consume_op) |
| Invoke Filter pattern on a data sequence with sequential execution policy. This function keeps in the stream only those items that satisfy the predicate. More...
|
|
template<typename Generator , typename Predicate , typename Consumer > |
void | discard (parallel_execution_tbb &ex, Generator generate_op, Predicate predicate_op, Consumer consume_op) |
| Invoke Filter pattern pattern on a data sequence with sequential execution policy. This function discards from the stream those items that satisfy the predicate. More...
|
|
template<typename Identity , typename Generator , typename Combiner , typename Consumer > |
void | stream_reduce (parallel_execution_tbb &ex, int window_size, int offset, Identity identity, Generator &&generate_op, Combiner &&combine_op, Consumer consume_op) |
| Invoke Stream reduction pattern on a stream with TBB parallel execution. More...
|
|