GrPPI  0.2
Generic and Reusable Parallel Pattern Interface
Functions
Polymorphic stencil pattern

Polymorphic implementation of the Stencil pattern. More...

Collaboration diagram for Polymorphic stencil pattern:

Functions

template<typename InputIt , typename OutputIt , typename StencilTransformer , typename Neighbourhood >
void grppi::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 grppi::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...
 

Detailed Description

Polymorphic implementation of the Stencil pattern.

Function Documentation

template<typename InputIt , typename OutputIt , typename StencilTransformer , typename Neighbourhood >
void grppi::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.

Template Parameters
InputItIterator type used for the input sequence.
OutputItIterator type used for the output sequence
NeighbourhoodCallable type for obtaining the neighbourhood.
StencilTransformerCallable type for performing the stencil transformation.
Parameters
exPolymorphic execution policy object.
firstIterator to the first element in the input sequence.
lastIterator to one past the end of the input sequence.
outIterator to the first element in the output sequence.
transform_opStencil transformation operation.
neighbour_opNeighbourhood operation.
template<typename InputIt , typename OutputIt , typename StencilTransformer , typename Neighbourhood , typename... OtherInputIts>
void grppi::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.

Template Parameters
InputItIterator type used for the input sequence.
OutputItIterator type used for the output sequence
NeighbourhoodCallable type for obtaining the neighbourhood.
StencilTransformerCallable type for performing the stencil transformation.
OtherInputItsIterator types for additional input sequences.
Parameters
exSequential execution policy object.
firstIterator to the first element in the input sequence.
lastIterator to one past the end of the input sequence.
outIterator to the first element in the output sequence.
transform_opStencil transformation operation.
neighbour_opNeighbourhood operation.
other_firstsIterators to the first element of additional input sequences.