The Gaudi Framework  v32r0 (3325bb39)
concurrency::NodePropertiesValidator Class Reference

#include <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
 
- Public Member Functions inherited from concurrency::IGraphVisitor
virtual ~IGraphVisitor ()=default
 
virtual bool visitEnter (DecisionNode &) const
 
virtual bool visit (AlgorithmNode &)
 
virtual bool visit (DataNode &)
 
virtual bool visit (ConditionNode &)
 
virtual void reset ()
 

Private Attributes

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

Detailed Description

Definition at line 13 of file Validators.h.

Member Function Documentation

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

Definition at line 25 of file Validators.h.

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

Definition at line 24 of file Validators.h.

24 { return m_status.str(); };
bool concurrency::NodePropertiesValidator::visit ( DecisionNode node)
overridevirtual

Reimplemented from concurrency::IGraphVisitor.

Definition at line 5 of file Validators.cpp.

5  {
6 
7  if ( node.m_modeConcurrent && node.m_modePromptDecision ) {
8 
9  if ( !m_foundViolations )
10  m_status
11  << " 'Concurrent'/'Prompt' contradiction(s) found. Settings are mutually exclusive within a task group. "
12  "Discarding 'Prompt' for ";
13 
14  m_status << ( m_foundViolations ? ", " : "" ) << node.getNodeName();
15 
16  if ( !m_foundViolations ) m_foundViolations = true;
17 
18  return false;
19  }
20 
21  return true;
22  }
bool concurrency::NodePropertiesValidator::visitEnter ( AlgorithmNode ) const
inlineoverridevirtual

Reimplemented from concurrency::IGraphVisitor.

Definition at line 18 of file Validators.h.

18 { return false; };
bool concurrency::NodePropertiesValidator::visitEnter ( DataNode ) const
inlineoverridevirtual

Reimplemented from concurrency::IGraphVisitor.

Definition at line 19 of file Validators.h.

19 { return false; };
bool concurrency::NodePropertiesValidator::visitEnter ( ConditionNode ) const
inlineoverridevirtual

Reimplemented from concurrency::IGraphVisitor.

Definition at line 20 of file Validators.h.

20 { return false; };

Member Data Documentation

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

Definition at line 29 of file Validators.h.

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

Definition at line 28 of file Validators.h.


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