docc 0.8.3 (0d44999b)
C++ API Reference
Loading...
Searching...
No Matches
sdfg::analysis::DataFlowState< T > Struct Template Referenceabstract

#include <sdfg/analysis/structured_data_flow_analysis.h>

Public Types

using ExposedType = T

Public Member Functions

virtual ~DataFlowState ()=default
virtual bool ran_at_least_once () const =0
virtual bool update (const T &incoming)=0
 All-in-one for leaf-nodes.
virtual const T & forward_exposed () const =0
 Get the current state of live elements leaving the node in forward direction.
virtual bool update_incoming (const T &incoming)=0
 For non-leaf nodes: update inputs.
virtual bool update_forward_exposed (const T &forward_exposed)=0
 For non-leaf nodes: update outputs.

Member Typedef Documentation

◆ ExposedType

template<typename T>
using sdfg::analysis::DataFlowState< T >::ExposedType = T

Constructor & Destructor Documentation

◆ ~DataFlowState()

template<typename T>
virtual sdfg::analysis::DataFlowState< T >::~DataFlowState ( )
virtualdefault

Member Function Documentation

◆ forward_exposed()

template<typename T>
virtual const T & sdfg::analysis::DataFlowState< T >::forward_exposed ( ) const
pure virtual

Get the current state of live elements leaving the node in forward direction.

Implemented in sdfg::analysis::ElementIdMapDataFlowState< T, I >, and sdfg::analysis::ElementIdMapDataFlowState< ExposedOffload, OffloadHolder >.

◆ ran_at_least_once()

template<typename T>
virtual bool sdfg::analysis::DataFlowState< T >::ran_at_least_once ( ) const
pure virtual

◆ update()

template<typename T>
virtual bool sdfg::analysis::DataFlowState< T >::update ( const T & incoming)
pure virtual

All-in-one for leaf-nodes.

Parameters
incomingcurrent set of live elements entering the node (in forward direction)
Returns
whether a relevant output changed that necessetates further propagation

Implemented in sdfg::analysis::ElementIdMapDataFlowState< T, I >.

◆ update_forward_exposed()

template<typename T>
virtual bool sdfg::analysis::DataFlowState< T >::update_forward_exposed ( const T & forward_exposed)
pure virtual

For non-leaf nodes: update outputs.

Parameters
forward_exposedcurrent set of live elements leaving the node in forward direction
Returns
whether the leaving set has changed since last time

Implemented in sdfg::analysis::ElementIdMapDataFlowState< T, I >.

◆ update_incoming()

template<typename T>
virtual bool sdfg::analysis::DataFlowState< T >::update_incoming ( const T & incoming)
pure virtual

For non-leaf nodes: update inputs.

Parameters
incomingcurrent set of live elements entering the node (in forward direction)
Returns
whether the incoming set changed since last time

Implemented in sdfg::analysis::ElementIdMapDataFlowState< T, I >.


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