Provides access to a dynamically selected group of values in the edge_container. The index type of the view, instead of being a single task identifier is logically a sequence of task identifiers.
More...
Public Member Functions | |
| template<typename... OptionalFilterParam> | |
| aggregated_edge_view (OptionalFilterParam &&... filter) | |
| aggregated_edge_view (aggregated_edge_view const &)=default | |
| aggregated_edge_view (aggregated_edge_view &&)=default | |
| aggregated_edge_view & | operator= (aggregated_edge_view const &)=delete |
| void | setup_flow (index_type const &producer_tids, detail::edge_local_notifier_base *notifier_ptr, edge_container &container) const |
| Called by successor tasks to create an edge in the edge_container. More... | |
| reference | operator[] (index_type const &producer_tids) const |
Return a view over the values produced by tasks specified in identifier list producer_tids. More... | |
| reference | transporter_reference (index_type consumed_tid) const |
| Called to create a serialized edge reference if necessary during paragraph task placement. | |
| locality_info | locality (index_type) const noexcept |
| Return locality information about the element specified by the gid. More... | |
Public Types | |
| using | value_type = typename detail::compute_edge_view_filter< T, OptionalFilter... >::value_type |
| using | index_type = std::vector< std::size_t > |
| The index type is currently a std::vector but could be anything that implements the array_view concept. | |
| using | reference = aggregated_edge_subview< std::vector< base_reference_t > > |
Reference type is a view over all values defined by variables of type index-type. | |
| using | task_placement_dontcare = std::true_type |
Provides access to a dynamically selected group of values in the edge_container. The index type of the view, instead of being a single task identifier is logically a sequence of task identifiers.
| T | The edge value type of the consumed tasks (All consumed tasks must have the same edge type). |
| Filter | The type of the filter to apply to all edge values prior to making them available to target workfunction. |
| void stapl::aggregated_edge_view< T, OptionalFilter >::setup_flow | ( | index_type const & | producer_tids, |
| detail::edge_local_notifier_base * | notifier_ptr, | ||
| edge_container & | container | ||
| ) | const |
Called by successor tasks to create an edge in the edge_container.
| producer_tids | Task identifiers of the tasks to set up the data flow from. |
| notifier_ptr | A pointer to the notifier that should be invoked when the requested values are available on this location for consumption. |
Wraps the notifier appropriately based on whether persistency is enabled or not and then redirects to edge_container::setup_flow. One redirect per consumed task.
| reference stapl::aggregated_edge_view< T, OptionalFilter >::operator[] | ( | index_type const & | producer_tids | ) | const |
Return a view over the values produced by tasks specified in identifier list producer_tids.
|
noexcept |
Return locality information about the element specified by the gid.
1.8.13