Provides a view over the edge_container allowing PARAGRAPH tasks to create data flow value consumption.
More...
Public Member Functions | |
| template<typename... OptionalFilterParam> | |
| edge_view (OptionalFilterParam &&... filter) | |
| edge_view (edge_view const &)=default | |
| edge_view (edge_view &&)=default | |
| edge_view & | operator= (edge_view const &)=delete |
| void | setup_flow (index_type producer_tid, local_notifier_t *notifier_ptr, edge_container &container) const |
| Called by successor tasks to create an edge in the edge_container. More... | |
| reference | operator[] (index_type) const |
Return a reference to the value produced by task with identifier producer_tid. More... | |
| reference | transporter_reference (index_type producer_tid) const |
| Called to create a serialized edge reference if necessary during paragraph task placement. | |
| constexpr 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 | reference = lazy_edge_reference< value_type > |
| using | index_type = std::size_t |
| using | task_placement_dontcare = std::true_type |
Provides a view over the edge_container allowing PARAGRAPH tasks to create data flow value consumption.
| T | The edge value type (i.e., the return type of the consumed task). |
| OptionalFilter | Type of a functor applied to the the value produced by a task of the edge_container prior data flow to the consumer. |
The underlying edge container is non templated and is agnostic to the edge value type. The edge_view informs the edge_container of the type via explicit template parameter specification when invoking methods.
| T | The edge value type (i.e., the return type of the consumed task). |
| Filter | Type of a functor applied to the the value produced by a task of the edge_container prior data flow to the consumer. |
The underlying edge container is non templated and is agnostic to the edge value type. The edge_view informs the edge_container of the type via explicit template parameter specification when invoking methods.
| void stapl::edge_view< T, OptionalFilter >::setup_flow | ( | index_type | producer_tid, |
| local_notifier_t * | notifier_ptr, | ||
| edge_container & | container | ||
| ) | const |
Called by successor tasks to create an edge in the edge_container.
| producer_tid | The task identifier of the task to set up the data flow from. |
| notifier_ptr | A pointer to the notifier that should be invoked when the requested value is 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.
| reference stapl::edge_view< T, OptionalFilter >::operator[] | ( | index_type | ) | const |
Return a reference to the value produced by task with identifier producer_tid.
The reference is backed by an entry in value cache of the underlying edge_container.
|
noexcept |
Return locality information about the element specified by the gid.
1.8.13