STAPL API Reference          
Overview   Containers   Algorithms   Views   Skeletons   Run-Time System
Modules     Classes    
List of all members | Public Member Functions
stapl::skeletons::skeletons_impl::spawn_visitor< Spawner > Class Template Reference

spawn_visitor helps in spawning the elements of parametric dependencies by factoring out the task id and number of consumers of a task in this class. More...

Public Member Functions

 spawn_visitor (Spawner &spawner)
 
void set_info (std::size_t tid, std::size_t result_id, std::size_t num_succs)
 
mementoget_memento_stack ()
 
auto get_env () -> decltype(m_spawner.get_env())
 
std::vector< std::size_t > notification_list (std::initializer_list< std::size_t > &&a) const
 Puts the given set of precedence dependencies in a vector. More...
 
template<bool isResult = false, typename WF , typename Mapper , typename... Args, typename = typename std::enable_if< !std::is_same< WF, std::vector<std::size_t>>::value, void>::type>
void operator() (WF &&wf, Mapper &&mapper, Args &&... args)
 Each parametric dependency gets an instance of this struct and will call the function operator of this visitor based on the number of arguments it has. More...
 
template<bool isResult = false, typename WF , typename Mapper , typename... Args>
void operator() (std::vector< std::size_t > const &notifications, WF &&wf, Mapper &&mapper, Args &&... args)
 Each parametric dependency gets an instance of this struct and will call the function operator of this visitor based on the number of arguments it has. More...
 

Detailed Description

template<typename Spawner>
class stapl::skeletons::skeletons_impl::spawn_visitor< Spawner >

spawn_visitor helps in spawning the elements of parametric dependencies by factoring out the task id and number of consumers of a task in this class.

Template Parameters
Spawnerthe spawner in which the skeleton should be spawned.

Member Function Documentation

◆ notification_list()

template<typename Spawner >
std::vector<std::size_t> stapl::skeletons::skeletons_impl::spawn_visitor< Spawner >::notification_list ( std::initializer_list< std::size_t > &&  a) const

Puts the given set of precedence dependencies in a vector.

Parameters
inthe set of inputs to be used for the spawn request

◆ operator()() [1/2]

template<typename Spawner >
template<bool isResult = false, typename WF , typename Mapper , typename... Args, typename = typename std::enable_if< !std::is_same< WF, std::vector<std::size_t>>::value, void>::type>
void stapl::skeletons::skeletons_impl::spawn_visitor< Spawner >::operator() ( WF &&  wf,
Mapper &&  mapper,
Args &&...  args 
)

Each parametric dependency gets an instance of this struct and will call the function operator of this visitor based on the number of arguments it has.

Parameters
wfthe workfunction which will be used for the spawn request
mapperthe output to output mapper for mapping the results of the child paragraph to current paragraph
argsthe set of inputs to be used for the spawn request

◆ operator()() [2/2]

template<typename Spawner >
template<bool isResult = false, typename WF , typename Mapper , typename... Args>
void stapl::skeletons::skeletons_impl::spawn_visitor< Spawner >::operator() ( std::vector< std::size_t > const &  notifications,
WF &&  wf,
Mapper &&  mapper,
Args &&...  args 
)

Each parametric dependency gets an instance of this struct and will call the function operator of this visitor based on the number of arguments it has.

Parameters
wfthe workfunction which will be used for the spawn request
mapperthe output to output mapper for mapping the results of the child paragraph to current paragraph
notificationsthe set of nodes that depend on the completion of this node
argsthe set of inputs to be used for the spawn request

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