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 |
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.
WF | The base workfunction type. |
GlobalVS | The pre-localization view set type. |
LocalVS | The post-localization view set type. |
b | Computed 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.