PandA-2024.02
Public Member Functions | Protected Attributes
DesignFlowGraphsCollection Class Reference

#include <design_flow_graph.hpp>

Inheritance diagram for DesignFlowGraphsCollection:
Inheritance graph
[legend]
Collaboration diagram for DesignFlowGraphsCollection:
Collaboration graph
[legend]

Public Member Functions

 DesignFlowGraphsCollection (const ParameterConstRef parameters)
 Constructor. More...
 
 ~DesignFlowGraphsCollection () override
 Destructor. More...
 
vertex GetDesignFlowStep (const std::string &signature) const
 Return the vertex associated with a design step if exists, NULL_VERTEX otherwise. More...
 
EdgeDescriptor AddDesignFlowDependence (const vertex source, const vertex target, const int selector)
 Add a design flow dependence. More...
 
vertex AddDesignFlowStep (const DesignFlowStepRef design_flow_step, const bool unnecessary)
 Add a design step. More...
 
- Public Member Functions inherited from graphs_collection
 graphs_collection (GraphInfoRef info, const ParameterConstRef _parameters)
 Constructor of graph. More...
 
virtual ~graphs_collection ()=default
 Destructor. More...
 
boost::graph_traits< graphs_collection >::edge_descriptor AddSelector (const boost::graph_traits< graphs_collection >::edge_descriptor edge, const int selector)
 Add a selector to an existing edge. More...
 
boost::graph_traits< graphs_collection >::edge_descriptor AddSelector (const boost::graph_traits< graphs_collection >::vertex_descriptor source, const boost::graph_traits< graphs_collection >::vertex_descriptor target, const int selector)
 Add a selector to an existing edge. More...
 
void RemoveSelector (boost::graph_traits< graphs_collection >::edge_descriptor edge)
 Remove all the selectors of an edge from this graph. More...
 
void RemoveSelector (boost::graph_traits< graphs_collection >::edge_descriptor edge, const int selector)
 Remove an edge from this graph. More...
 
void RemoveSelector (boost::graph_traits< graphs_collection >::vertex_descriptor source, boost::graph_traits< graphs_collection >::vertex_descriptor target, const int selector)
 Remove an edge from this graph. More...
 
int GetSelector (const edge_descriptor e) const
 Return the selectors associated with an edge. More...
 
virtual boost::graph_traits< boost_graphs_collection >::vertex_descriptor AddVertex (const NodeInfoRef info)
 Add a vertex to this graph with a property. More...
 
boost::graph_traits< graphs_collection >::edge_descriptor AddEdge (boost::graph_traits< graphs_collection >::vertex_descriptor, boost::graph_traits< graphs_collection >::vertex_descriptor, const int)
 Add an edge to this graph FIXME: this should be pure virtual. More...
 
boost::graph_traits< graphs_collection >::edge_descriptor InternalAddEdge (boost::graph_traits< graphs_collection >::vertex_descriptor source, boost::graph_traits< graphs_collection >::vertex_descriptor target, const int selector, const EdgeInfoRef info)
 Add an edge to this graph FIXME: this should be protected. More...
 
virtual void RemoveVertex (boost::graph_traits< boost_graphs_collection >::vertex_descriptor v)
 Remove a vertex from this graph. More...
 
bool ExistsEdge (const boost::graph_traits< graphs_collection >::vertex_descriptor source, const boost::graph_traits< graphs_collection >::vertex_descriptor target) const
 Check if an edge exists. More...
 
void CompressEdges ()
 

Protected Attributes

CustomUnorderedMap< std::string, vertexsignature_to_vertex
 Map a signature of a step to the corresponding vertex. More...
 

Additional Inherited Members

- Data Fields inherited from graphs_collection
const ParameterConstRef parameters
 Set of input parameters. More...
 

Detailed Description

Definition at line 109 of file design_flow_graph.hpp.

Constructor & Destructor Documentation

◆ DesignFlowGraphsCollection()

DesignFlowGraphsCollection::DesignFlowGraphsCollection ( const ParameterConstRef  parameters)
explicit

Constructor.

Definition at line 65 of file design_flow_graph.cpp.

References ~DesignFlowGraphsCollection().

Here is the call graph for this function:

◆ ~DesignFlowGraphsCollection()

DesignFlowGraphsCollection::~DesignFlowGraphsCollection ( )
overridedefault

Destructor.

Referenced by DesignFlowGraphsCollection().

Here is the caller graph for this function:

Member Function Documentation

◆ AddDesignFlowDependence()

EdgeDescriptor DesignFlowGraphsCollection::AddDesignFlowDependence ( const vertex  source,
const vertex  target,
const int  selector 
)
inline

Add a design flow dependence.

Parameters
sourceis the source of the dependence
targetis the target of the dependence

Definition at line 137 of file design_flow_graph.hpp.

References DesignFlowStepInfo::design_flow_step.

◆ AddDesignFlowStep()

vertex DesignFlowGraphsCollection::AddDesignFlowStep ( const DesignFlowStepRef  design_flow_step,
const bool  unnecessary 
)

Add a design step.

Parameters
design_flow_stepis the step to be added
unnecessaryspecifiy is the step is necessary or not

Definition at line 72 of file design_flow_graph.cpp.

References graphs_collection::AddVertex(), and signature_to_vertex.

Here is the call graph for this function:

◆ GetDesignFlowStep()

vertex DesignFlowGraphsCollection::GetDesignFlowStep ( const std::string &  signature) const

Return the vertex associated with a design step if exists, NULL_VERTEX otherwise.

Parameters
signatureis the signature of the design step

Definition at line 80 of file design_flow_graph.cpp.

References DesignFlowGraph::AUX_SELECTOR, DesignFlowGraph::DEPENDENCE_FEEDBACK_SELECTOR, DesignFlowGraph::DEPENDENCE_SELECTOR, NULL_VERTEX, DesignFlowGraph::PRECEDENCE_SELECTOR, and signature_to_vertex.

Field Documentation

◆ signature_to_vertex

CustomUnorderedMap<std::string, vertex> DesignFlowGraphsCollection::signature_to_vertex
protected

Map a signature of a step to the corresponding vertex.

Definition at line 113 of file design_flow_graph.hpp.

Referenced by AddDesignFlowStep(), and GetDesignFlowStep().


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

Generated on Mon Feb 12 2024 13:03:49 for PandA-2024.02 by doxygen 1.8.13