PandA-2024.02
bambu_frontend_flow.hpp
Go to the documentation of this file.
1 /*
2  *
3  * _/_/_/ _/_/ _/ _/ _/_/_/ _/_/
4  * _/ _/ _/ _/ _/_/ _/ _/ _/ _/ _/
5  * _/_/_/ _/_/_/_/ _/ _/_/ _/ _/ _/_/_/_/
6  * _/ _/ _/ _/ _/ _/ _/ _/ _/
7  * _/ _/ _/ _/ _/ _/_/_/ _/ _/
8  *
9  * ***********************************************
10  * PandA Project
11  * URL: http://panda.dei.polimi.it
12  * Politecnico di Milano - DEIB
13  * System Architectures Group
14  * ***********************************************
15  * Copyright (C) 2004-2024 Politecnico di Milano
16  *
17  * This file is part of the PandA framework.
18  *
19  * The PandA framework is free software; you can redistribute it and/or modify
20  * it under the terms of the GNU General Public License as published by
21  * the Free Software Foundation; either version 3 of the License, or
22  * (at your option) any later version.
23  *
24  * This program is distributed in the hope that it will be useful,
25  * but WITHOUT ANY WARRANTY; without even the implied warranty of
26  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
27  * GNU General Public License for more details.
28  *
29  * You should have received a copy of the GNU General Public License
30  * along with this program. If not, see <http://www.gnu.org/licenses/>.
31  *
32  */
40 #ifndef BAMBU_FRONTEND_FLOW_HPP
41 #define BAMBU_FRONTEND_FLOW_HPP
42 #include "application_frontend_flow_step.hpp" // for ApplicationFrontendFlo...
43 #include "custom_set.hpp" // for unordered_set
44 #include "design_flow_step.hpp" // for DesignFlowStep, Design...
45 #include "frontend_flow_step.hpp" // for FrontendFlowStep::Func...
46 #include <utility> // for pair
47 
49 {
50  protected:
56  ComputeFrontendRelationships(const DesignFlowStep::RelationshipType relationship_type) const override;
57 
58  public:
65  BambuFrontendFlow(const application_managerRef AppM, const DesignFlowManagerConstRef design_flow_manager,
67 
71  ~BambuFrontendFlow() override;
72 
77  DesignFlowStep_Status Exec() override;
78 
83  bool HasToBeExecuted() const override;
84 };
85 #endif
BambuFrontendFlow(const application_managerRef AppM, const DesignFlowManagerConstRef design_flow_manager, const ParameterConstRef parameters)
Constructor.
RelationshipType
The relationship type.
bool HasToBeExecuted() const override
Check if this step has actually to be executed.
Base class for step of design flow.
redefinition of set to manage ordered/unordered structures
const Wrefcount< const DesignFlowManager > design_flow_manager
The design flow manager.
const CustomUnorderedSet< std::pair< FrontendFlowStepType, FunctionRelationship > > ComputeFrontendRelationships(const DesignFlowStep::RelationshipType relationship_type) const override
Return the set of analyses in relationship with this design step.
This class contains the base representation for a generic frontend flow step.
const ParameterConstRef parameters
Set of input parameters.
DesignFlowStep_Status
The status of a step.
DesignFlowStep_Status Exec() override
Execute this step.
const application_managerRef AppM
The application manager.
~BambuFrontendFlow() override
Destructor.
Template borrowed from the ANTLR library by Terence Parr (http://www.jGuru.com - Software rights: htt...
Definition: refcount.hpp:94
This class contains the base representation for a generic frontend flow step which works on the whole...

Generated on Mon Feb 12 2024 13:02:51 for PandA-2024.02 by doxygen 1.8.13