The Gaudi Framework  master (ff829712)
Loading...
Searching...
No Matches
concurrency::NodePropertiesValidator Class Reference

#include </builds/gaudi/Gaudi/GaudiHive/src/PRGraph/Visitors/Validators.h>

Inheritance diagram for concurrency::NodePropertiesValidator:
Collaboration diagram for concurrency::NodePropertiesValidator:

Public Member Functions

bool visitEnter (AlgorithmNode &) const override
 
bool visitEnter (DataNode &) const override
 
bool visitEnter (ConditionNode &) const override
 
bool visit (DecisionNode &) override
 
std::string reply () const
 
bool passed () const
 
void reset () override
 
virtual bool visit (AlgorithmNode &)
 
virtual bool visit (DataNode &)
 
virtual bool visit (ConditionNode &)
 
virtual bool visitEnter (DecisionNode &) const
 
- Public Member Functions inherited from concurrency::IGraphVisitor
virtual ~IGraphVisitor ()=default
 

Private Attributes

std::ostringstream m_status { " No 'Concurrent'/'Prompt' contradictions found" }
 
bool m_foundViolations { false }
 

Detailed Description

Definition at line 27 of file Validators.h.

Member Function Documentation

◆ passed()

bool concurrency::NodePropertiesValidator::passed ( ) const
inline

Definition at line 39 of file Validators.h.

◆ reply()

std::string concurrency::NodePropertiesValidator::reply ( ) const
inline

Definition at line 38 of file Validators.h.

38{ return m_status.str(); }

◆ reset()

void concurrency::NodePropertiesValidator::reset ( )
inlineoverridevirtual

Reimplemented from concurrency::IGraphVisitor.

Definition at line 40 of file Validators.h.

40 {
41 m_foundViolations = false;
42 m_status.clear();
43 }

◆ visit() [1/4]

virtual bool concurrency::IGraphVisitor::visit ( AlgorithmNode & )
inlinevirtual

Reimplemented from concurrency::IGraphVisitor.

Definition at line 28 of file IGraphVisitor.h.

28{ return true; }

◆ visit() [2/4]

virtual bool concurrency::IGraphVisitor::visit ( ConditionNode & )
inlinevirtual

Reimplemented from concurrency::IGraphVisitor.

Definition at line 34 of file IGraphVisitor.h.

34{ return true; }

◆ visit() [3/4]

virtual bool concurrency::IGraphVisitor::visit ( DataNode & )
inlinevirtual

Reimplemented from concurrency::IGraphVisitor.

Definition at line 31 of file IGraphVisitor.h.

31{ return true; }

◆ visit() [4/4]

bool concurrency::NodePropertiesValidator::visit ( DecisionNode & node)
overridevirtual

Reimplemented from concurrency::IGraphVisitor.

Definition at line 18 of file Validators.cpp.

18 {
19
20 if ( node.m_modeConcurrent && node.m_modePromptDecision ) {
21
22 if ( !m_foundViolations )
24 << " 'Concurrent'/'Prompt' contradiction(s) found. Settings are mutually exclusive within a task group. "
25 "Discarding 'Prompt' for ";
26
27 m_status << ( m_foundViolations ? ", " : "" ) << node.name();
28
30
31 return false;
32 }
33
34 return true;
35 }

◆ visitEnter() [1/4]

bool concurrency::NodePropertiesValidator::visitEnter ( AlgorithmNode & ) const
inlineoverridevirtual

Reimplemented from concurrency::IGraphVisitor.

Definition at line 32 of file Validators.h.

32{ return false; }

◆ visitEnter() [2/4]

bool concurrency::NodePropertiesValidator::visitEnter ( ConditionNode & ) const
inlineoverridevirtual

Reimplemented from concurrency::IGraphVisitor.

Definition at line 34 of file Validators.h.

34{ return false; }

◆ visitEnter() [3/4]

bool concurrency::NodePropertiesValidator::visitEnter ( DataNode & ) const
inlineoverridevirtual

Reimplemented from concurrency::IGraphVisitor.

Definition at line 33 of file Validators.h.

33{ return false; }

◆ visitEnter() [4/4]

virtual bool concurrency::IGraphVisitor::visitEnter ( DecisionNode & ) const
inlinevirtual

Reimplemented from concurrency::IGraphVisitor.

Definition at line 24 of file IGraphVisitor.h.

24{ return true; }

Member Data Documentation

◆ m_foundViolations

bool concurrency::NodePropertiesValidator::m_foundViolations { false }
private

Definition at line 47 of file Validators.h.

47{ false };

◆ m_status

std::ostringstream concurrency::NodePropertiesValidator::m_status { " No 'Concurrent'/'Prompt' contradictions found" }
private

Definition at line 46 of file Validators.h.

46{ " No 'Concurrent'/'Prompt' contradictions found" };

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