STAPL API Reference          
Overview   Containers   Algorithms   Views   Skeletons   Run-Time System
Modules     Classes    
List of all members | Public Member Functions
stapl::detail::cross_tg_notifier Struct Reference

Function object that delays the execution of a PARAGRAPH, pending notification from predecessor PARAGRAPHs who compute values that the successor receives as view inputs.Allows initialization of PARAGRAPH (and perhaps some task initialization to proceed concurrently with predecessor PARAGRAPH execution. More...

Public Member Functions

void operator() (void)
 Receive notification from a predecessor PARAGRAPH. More...
 
void set_executor_ptr (executor_base &executor_ptr, executor_base &parent_executor_ptr)
 Initializes executor data members. If all predecessor PARAGRAPH have already notified, then release the target PARAGRAPH's executor to its parent and destroy this notifier. More...
 
void increment_preds (void)
 Increment the predecessor notification count this notifier expects. More...
 
bool ready (void) const
 Return true if all notifications from predecessor have been received and the PARAGRAPH this notifier services can be executed. More...
 

Detailed Description

Function object that delays the execution of a PARAGRAPH, pending notification from predecessor PARAGRAPHs who compute values that the successor receives as view inputs.

Allows initialization of PARAGRAPH (and perhaps some task initialization to proceed concurrently with predecessor PARAGRAPH execution.

See also
paragraph::operator()

Member Function Documentation

◆ operator()()

void stapl::detail::cross_tg_notifier::operator() ( void  )

Receive notification from a predecessor PARAGRAPH.

Decrement internal notification counter. If this is the last pending notification, release the target PARAGRAPH's executor to its parent and destroy this notifier.

◆ set_executor_ptr()

void stapl::detail::cross_tg_notifier::set_executor_ptr ( executor_base executor_ptr,
executor_base parent_executor_ptr 
)

Initializes executor data members. If all predecessor PARAGRAPH have already notified, then release the target PARAGRAPH's executor to its parent and destroy this notifier.

Parameters
executor_ptrPointer to executor of the PARAGRAPH this notifier will notify.
parent_executor_ptrPointer to parent executor of of the PARAGRAPH this notifier will notify.

PARAGRAPH ensures method is not called until all predecessors have been accounted for by calls to increment_preds.

◆ increment_preds()

void stapl::detail::cross_tg_notifier::increment_preds ( void  )

Increment the predecessor notification count this notifier expects.

See also
input_edge_available_func

◆ ready()

bool stapl::detail::cross_tg_notifier::ready ( void  ) const

Return true if all notifications from predecessor have been received and the PARAGRAPH this notifier services can be executed.

PARAGRAPH ensures method is not called until all predecessors have been accounted for by calls to increment_preds.


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