STAPL API Reference          
Overview   Containers   Algorithms   Views   Skeletons   Run-Time System
Modules     Classes    
List of all members | Static Public Member Functions | Public Types
stapl::paragraph_impl::compute_promotion_wf< WF, GlobalVS, LocalVS, b > Struct Template Reference

Functor invoked by the task creation process. Compares the return types of the workfunction when given the global and local viewsets. If they differ the workfunction that task uses is changed to facilitate the promotion of the return value based on the localized viewset to a form valid in the global / enclosing scope. More...

Static Public Member Functions

template<typename ... ViewParams>
static result_type apply (tg_callback const &, WF const &wf, ViewParams const &...)
 

Public Types

typedef WF result_type
 

Detailed Description

template<typename WF, typename GlobalVS, typename LocalVS, bool b = std::is_same< typename wf_invoke<WF, GlobalVS>::result_type, typename wf_invoke<WF, LocalVS>::result_type >::value>
struct stapl::paragraph_impl::compute_promotion_wf< WF, GlobalVS, LocalVS, b >

Functor invoked by the task creation process. Compares the return types of the workfunction when given the global and local viewsets. If they differ the workfunction that task uses is changed to facilitate the promotion of the return value based on the localized viewset to a form valid in the global / enclosing scope.

Template Parameters
WFThe base workfunction type.
GlobalVSThe pre-localization view set type.
LocalVSThe post-localization view set type.
bComputed boolean parameter that is true if the application of the workfunction of viewsets of type LocalVS and GlobalVS return the value type. Used to dispatch to the appropriate specialization.

Primary template matches the case when the return types of localized and non localized views are the same. No promotion wrapper is needed. The functor invocation is an identify operation.


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