This class abstracts the semantics of a sink_value skeleton by exposing only the necessary information in its representation. More...
Public Member Functions | |
sink_value (Skeleton const &skeleton, SkeletonTraits const &traits) | |
Public Types | |
using | skeleton_tag_type = tags::sink_value< Skeleton > |
using | span_type = typename SkeletonTraits::span_type |
using | base_type = decltype(skeletons::compose(std::declval< Skeleton >(), skeletons::set_result(stapl::identity< ValueType >(), std::declval< SkeletonTraits >()))) |
using | value_type = ValueType |
using | inner_sk_tag = typename Skeleton::skeleton_tag_type |
using | op_type = stapl::identity< value_type > |
This class abstracts the semantics of a sink_value skeleton by exposing only the necessary information in its representation.
A sink_value skeleton pipes the data produced from a skeleton to a set of identity tasks which are labeled as results tasks. Result tasks in a PARAGRAPH
environment (taskgraph_env) allow values to be returned from a PARAGRAPH
.
This abstraction not only makes the reconstruction of a a sink_value skeleton easier, but also reduces the symbol size for a sink_value skeleton, hence, reducing the total compilation time.
Skeleton | the skeleton to be piped into result tasks. |
ValueType | the value type for the result tasks. |
Span | the iteration space for the elements in the skeleton. |