STAPL API Reference          
Overview   Containers   Algorithms   Views   Skeletons   Run-Time System
Modules     Classes    
List of all members | Public Types
stapl::skeletons::flows::inline_flows::detail::compute_outputs_impl< Accum, PhFlows, I > Struct Template Reference

Creates a map of placeholders to the list (tuple) of the skeleton placeholders that read from them and at which index. More...

Public Types

using type = Accum
 

Detailed Description

template<typename Accum, typename PhFlows, int I = 0>
struct stapl::skeletons::flows::inline_flows::detail::compute_outputs_impl< Accum, PhFlows, I >

Creates a map of placeholders to the list (tuple) of the skeleton placeholders that read from them and at which index.

The user specifies only what flows each skeleton takes at which index, but where the output of a skeleton and at what indices is also needed for a flows class, which is computed here.

For exmaple, if we have x2 reads from [x0, x1], x0 will have an entry (x2,0) and x1 will have an entry (x2, 1).

The following is a pseudocode explanation of the process.

outputs_map = [];
for (OutPh, InPhs...) in PhFlows
int index = 0;
for InPh in InPhs...
outputs_map[InPh].push_back( (OutPh, index) );
++index;
done
done
return outputs_map;

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