Loading [MathJax]/extensions/MathMenu.js
The Gaudi Framework  master (01b473db)
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
IGraphVisitor.h
Go to the documentation of this file.
1 /***********************************************************************************\
2 * (c) Copyright 1998-2025 CERN for the benefit of the LHCb and ATLAS collaborations *
3 * *
4 * This software is distributed under the terms of the Apache version 2 licence, *
5 * copied verbatim in the file "LICENSE". *
6 * *
7 * In applying this licence, CERN does not waive the privileges and immunities *
8 * granted to it by virtue of its status as an Intergovernmental Organization *
9 * or submit itself to any jurisdiction. *
10 \***********************************************************************************/
11 #pragma once
12 
13 namespace concurrency {
14 
15  class DecisionNode;
16  class AlgorithmNode;
17  class DataNode;
18  class ConditionNode;
19 
20  class IGraphVisitor {
21  public:
22  virtual ~IGraphVisitor() = default;
23 
24  virtual bool visitEnter( DecisionNode& ) const { return true; }
25  virtual bool visit( DecisionNode& ) { return true; }
26 
27  virtual bool visitEnter( AlgorithmNode& ) const { return true; }
28  virtual bool visit( AlgorithmNode& ) { return true; }
29 
30  virtual bool visitEnter( DataNode& ) const { return true; }
31  virtual bool visit( DataNode& ) { return true; }
32 
33  virtual bool visitEnter( ConditionNode& ) const { return true; }
34  virtual bool visit( ConditionNode& ) { return true; }
35 
36  virtual void reset() {}
37  };
38 } // namespace concurrency
concurrency::IGraphVisitor::reset
virtual void reset()
Definition: IGraphVisitor.h:36
concurrency::IGraphVisitor::visitEnter
virtual bool visitEnter(DataNode &) const
Definition: IGraphVisitor.h:30
concurrency::IGraphVisitor
Definition: IGraphVisitor.h:20
concurrency::AlgorithmNode
Definition: PrecedenceRulesGraph.h:485
concurrency::IGraphVisitor::visitEnter
virtual bool visitEnter(AlgorithmNode &) const
Definition: IGraphVisitor.h:27
concurrency::ConditionNode
Definition: PrecedenceRulesGraph.h:592
concurrency::IGraphVisitor::visitEnter
virtual bool visitEnter(ConditionNode &) const
Definition: IGraphVisitor.h:33
concurrency::IGraphVisitor::visit
virtual bool visit(ConditionNode &)
Definition: IGraphVisitor.h:34
concurrency::IGraphVisitor::visit
virtual bool visit(DecisionNode &)
Definition: IGraphVisitor.h:25
concurrency::IGraphVisitor::~IGraphVisitor
virtual ~IGraphVisitor()=default
concurrency
Definition: PrecedenceRulesGraph.cpp:38
concurrency::IGraphVisitor::visitEnter
virtual bool visitEnter(DecisionNode &) const
Definition: IGraphVisitor.h:24
concurrency::DecisionNode
Definition: PrecedenceRulesGraph.h:440
concurrency::DataNode
Definition: PrecedenceRulesGraph.h:554
concurrency::IGraphVisitor::visit
virtual bool visit(DataNode &)
Definition: IGraphVisitor.h:31
concurrency::IGraphVisitor::visit
virtual bool visit(AlgorithmNode &)
Definition: IGraphVisitor.h:28