Loading [MathJax]/jax/output/HTML-CSS/config.js
Go to the documentation of this file.
13 #include "../../EventSlot.h"
14 #include "../PrecedenceRulesGraph.h"
21 #include <unordered_map>
46 std::ostringstream
m_status{
" No 'Concurrent'/'Prompt' contradictions found" };
142 std::string
reply()
const;
145 [](
const auto& pr ) { return pr.second.size() == 1; } );
183 return m_scc.empty() ||
184 !std::any_of(
m_scc.begin(),
m_scc.end(), [](
const auto& pr ) { return pr.second.size() > 1; } );
194 m_status = std::ostringstream{
" No strongly connected components found in DF realm" };
204 std::unordered_map<AlgorithmNode*, std::pair<unsigned int, unsigned int>>
m_lowlinks;
205 std::map<unsigned int, std::vector<AlgorithmNode*>>
m_scc;
208 std::ostringstream
m_status{
" No strongly connected components found in DF realm" };
visitor_book m_conditionalProducers
bool visitEnter(ConditionNode &) const override
bool visitEnter(AlgorithmNode &) const override
bool visitEnter(AlgorithmNode &) const override
std::map< DataNode *, std::set< AlgorithmNode *, CompareNodes< AlgorithmNode * > >, CompareNodes< DataNode * > > visitor_book
bool visitEnter(DataNode &) const override
std::string reply() const
bool visitEnter(DecisionNode &) const override
bool visitEnter(DecisionNode &) const override
std::ostringstream m_status
Class representing an event slot.
std::string m_previousNodeName
const std::string & name() const
Get node name.
bool visitEnter(ConditionNode &) const override
bool visit(DecisionNode &) override
virtual bool reply() const
bool visit(AlgorithmNode &nodeAt) override
std::vector< AlgorithmNode * > m_stack
bool visit(DataNode &) override
std::unordered_map< AlgorithmNode *, std::pair< unsigned int, unsigned int > > m_lowlinks
EventSlot * parentSlot
Pointer to parent slot (null for top level)
visitor_book m_unconditionalProducers
bool visit(DecisionNode &) override
virtual bool visit(DecisionNode &)
bool visitEnter(DataNode &) const override
ActiveLineageScout(const EventSlot *slot, const ControlFlowNode &node)
Constructor.
bool on_stack(const AlgorithmNode &node) const
bool visitEnter(ConditionNode &) const override
bool visitEnter(AlgorithmNode &) const override
virtual bool visitEnter(DecisionNode &) const
SubSlotScout(const EventSlot *slot, const ControlFlowNode &node)
Constructor.
virtual void visitParents(DecisionNode &)
std::map< unsigned int, std::vector< AlgorithmNode * > > m_scc
bool visitEnter(ConditionNode &) const override
bool visitEnter(AlgorithmNode &node) const override
const ControlFlowNode & m_startNode
bool visitEnter(DataNode &) const override
bool reply() const override
void visitParents(DecisionNode &) override
bool visit(DecisionNode &) override
std::string reply() const
std::ostringstream m_status
unsigned int m_nodes_count