STAPL API Reference          
Overview   Containers   Algorithms   Views   Skeletons   Run-Time System
Modules     Classes    
List of all members | Public Member Functions | Public Types
stapl::composition::find_result_storage< Result > Struct Template Reference

Attempts to transparently reuse the underlying storage of a workfunction's input views (when they are not mutated). Enables a functional programming model, while avoiding the heap allocation and locality loss drawbacks often associated with this model. More...

Public Member Functions

template<typename V0 >
Result operator() (V0 &v0) const
 Function signature used when there is one view passed to the workfunction and it is not a candidate for reuse.
 
template<typename V0 , typename V1 >
Result operator() (V0 &v0, V1 &v1) const
 Function signature used when there are two views passed to the workfunction and neither is a candidate for reuse.
 
template<typename V1 >
Result operator() (reusable_view_t &v0, V1 &v1) const
 Function signature used when there are two views passed to the workfunction and the first is a candidate for reuse.
 
template<typename V0 >
Result operator() (V0 &v0, reusable_view_t &v1) const
 Function signature used when there are two views passed to the workfunction and the last is a candidate for reuse.
 
Result operator() (reusable_view_t &v0, reusable_view_t &v1) const
 Function signature used when there are two views passed to the workfunction and both are candidates for reuse.
 
template<typename V1 >
Result operator() (reusable_view_t &v0, V1 &v1, reusable_view_t &v2) const
 Function signature used when there are three views passed to the workfunction and the first and last are candidates for reuse.
 

Public Types

typedef composition::map_subview< detail::result_view< Result > > reusable_view_t
 

Detailed Description

template<typename Result>
struct stapl::composition::find_result_storage< Result >

Attempts to transparently reuse the underlying storage of a workfunction's input views (when they are not mutated). Enables a functional programming model, while avoiding the heap allocation and locality loss drawbacks often associated with this model.

Template Parameters
ResultThe return type from a PARAGRAPH, which is then wrapped in a map_subview by the map PARAGRAPH this technique is employed in.

The documentation for this struct was generated from the following file: