STAPL API Reference          
Overview   Containers   Algorithms   Views   Skeletons   Run-Time System
Modules     Classes    
List of all members | Public Member Functions | Public Types
stapl::detail::edge_notifier_wrapper< T, Notifier > Struct Template Reference

Wrap remote edge notifier objects to support moving them to a new location when the associated producer task is migrated. More...

Public Member Functions

 edge_notifier_wrapper (Notifier notifier)
 
void operator() (edge_container &edge_ct, size_t loc, std::size_t tid, edge_version_storage< stored_value_t > const &version, bool b_migrate=false, bool b_move=false) const
 Based on b_migrate parameter, either call edge_container::add_remote_notifier to move notifier to producer task's new, post-migration execution location. Otherwise, treat as an edge fire, and invoke the notifier, forwarding the appropriate parameters. More...
 

Public Types

using value_type = T
 

Detailed Description

template<typename T, typename Notifier>
struct stapl::detail::edge_notifier_wrapper< T, Notifier >

Wrap remote edge notifier objects to support moving them to a new location when the associated producer task is migrated.

Template Parameters
TValue type the edge this object is associated with represents.
NotifierThe underlying notifier this wrapper hold and should invoke when migration is not requested.
See also
edge_remote_notifier
edge_remote_signal_notifier
edge_entry::add_remote_signal_notifier
remote_notifier_creator

Member Function Documentation

◆ operator()()

template<typename T, typename Notifier>
void stapl::detail::edge_notifier_wrapper< T, Notifier >::operator() ( edge_container edge_ct,
size_t  loc,
std::size_t  tid,
edge_version_storage< stored_value_t > const &  version,
bool  b_migrate = false,
bool  b_move = false 
) const

Based on b_migrate parameter, either call edge_container::add_remote_notifier to move notifier to producer task's new, post-migration execution location. Otherwise, treat as an edge fire, and invoke the notifier, forwarding the appropriate parameters.

Parameters
edge_ctThe edge container which holds the entry this notifier is associated with.
locThe location that the remote notifier held by wrapper is meant to notify.
tidThe task identifier of the producer task the edge notifier is associated with.
valueThe value to be flowed along this PARAGRAPH edge(s) this notifier represents.
b_migrateBoolean representing whether migration is requested by the caller.

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