This class abstracts the semantics of a notify_map skeleton by exposing only the necessary information in its representation. More...
Public Member Functions | |
notify_map (Op const &op, Filter const &filter) | |
Op | get_op (void) const |
Public Types | |
using | skeleton_tag_type = tags::notify_map< NotifCount > |
using | base_type = decltype(skeletons::elem< Span, Flows >(skeletons::notify_map_pd< NotifCount >(std::declval< Op >(), std::declval< Filter >()))) |
This class abstracts the semantics of a notify_map skeleton by exposing only the necessary information in its representation.
A notify_map skeleton is similar to a map
skeleton, but it also receives NotifCount
notifications from its first NotifCount flow.
This skeleton is used when consecutive maps are non-side-effect-free and work on the same set of inputs.
This abstraction not only makes the reconstruction of a a notify_map skeleton easier, but also reduces the symbol size for a notify_map skeleton, hence, reducing the total compilation time.
Op | the workfunction to be used in each notify_map parametric dependency. |
NotifCount | the number of notification flows to notify_map |
Span | the iteration space for the elements in the skeleton. |
Flows | the flow between the elements in the skeleton. |
Filter | the filter to be applied on the result produced by the operation. |