PandA-2024.02
Public Member Functions | Data Fields
graphs_collection Struct Reference

bulk graph. More...

#include <graph.hpp>

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

Public Member Functions

 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 ()
 

Data Fields

const ParameterConstRef parameters
 Set of input parameters. More...
 

Detailed Description

bulk graph.

All the edge of a graph are store in this object

Definition at line 287 of file graph.hpp.

Constructor & Destructor Documentation

◆ graphs_collection()

graphs_collection::graphs_collection ( GraphInfoRef  info,
const ParameterConstRef  _parameters 
)
inline

Constructor of graph.

Parameters
infois the property associated with the graph

Definition at line 297 of file graph.hpp.

References boost_CGetOpGraph_property.

◆ ~graphs_collection()

virtual graphs_collection::~graphs_collection ( )
virtualdefault

Destructor.

Member Function Documentation

◆ AddEdge()

boost::graph_traits<graphs_collection>::edge_descriptor graphs_collection::AddEdge ( boost::graph_traits< graphs_collection >::vertex_descriptor  ,
boost::graph_traits< graphs_collection >::vertex_descriptor  ,
const int   
)
inline

Add an edge to this graph FIXME: this should be pure virtual.

Parameters
sourceis the source of the edge to be added
targetis the target of the edge to be added
selectoris the selector to be set on the edge
infois the info to be associated with the edge

Definition at line 392 of file graph.hpp.

References THROW_UNREACHABLE.

◆ AddSelector() [1/2]

boost::graph_traits<graphs_collection>::edge_descriptor graphs_collection::AddSelector ( const boost::graph_traits< graphs_collection >::edge_descriptor  edge,
const int  selector 
)
inline

Add a selector to an existing edge.

Parameters
edgeis the edge to be considered
selectoris the selector to be added

Definition at line 311 of file graph.hpp.

Referenced by weak_dominance::add_edge().

Here is the caller graph for this function:

◆ AddSelector() [2/2]

boost::graph_traits<graphs_collection>::edge_descriptor graphs_collection::AddSelector ( const boost::graph_traits< graphs_collection >::vertex_descriptor  source,
const boost::graph_traits< graphs_collection >::vertex_descriptor  target,
const int  selector 
)
inline

Add a selector to an existing edge.

Parameters
sourceis the source of the edge
targetis the target of the edge

Definition at line 323 of file graph.hpp.

References THROW_ASSERT.

◆ AddVertex()

boost::graph_traits< boost_graphs_collection >::vertex_descriptor graphs_collection::AddVertex ( const NodeInfoRef  info)
virtual

Add a vertex to this graph with a property.

Parameters
infois the property to be associated with the new vertex
Returns
the added vertex

Reimplemented in OpGraphsCollection.

Definition at line 57 of file graph.cpp.

References index, and test_panda::type.

Referenced by DesignFlowGraphsCollection::AddDesignFlowStep(), OpGraphsCollection::AddVertex(), structural_manager::build_graph(), and weak_dominance::calculate_weak_dominance_info().

Here is the caller graph for this function:

◆ CompressEdges()

void graphs_collection::CompressEdges ( )
inline

Definition at line 444 of file graph.hpp.

References edges.

◆ ExistsEdge()

bool graphs_collection::ExistsEdge ( const boost::graph_traits< graphs_collection >::vertex_descriptor  source,
const boost::graph_traits< graphs_collection >::vertex_descriptor  target 
) const
inline

Check if an edge exists.

Parameters
sourceis the source vertex
targetis the target vertex
Returns
true if source-target exists

Definition at line 435 of file graph.hpp.

Referenced by weak_dominance::add_edge().

Here is the caller graph for this function:

◆ GetSelector()

int graphs_collection::GetSelector ( const edge_descriptor  e) const
inline

Return the selectors associated with an edge.

Parameters
eis the edge
Returns
the associated selector

Definition at line 371 of file graph.hpp.

References RawGraph::AddVertex().

Referenced by graph::GetSelector().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ InternalAddEdge()

boost::graph_traits<graphs_collection>::edge_descriptor graphs_collection::InternalAddEdge ( boost::graph_traits< graphs_collection >::vertex_descriptor  source,
boost::graph_traits< graphs_collection >::vertex_descriptor  target,
const int  selector,
const EdgeInfoRef  info 
)
inline

Add an edge to this graph FIXME: this should be protected.

Parameters
souceis the source of the edge to be added
targetis the target of the edge to be added
selectoris the selector to be set on the edge
infois the info to be associated with the edge

Definition at line 408 of file graph.hpp.

References RawGraph::RemoveVertex(), and THROW_ASSERT.

Referenced by weak_dominance::add_edge().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ RemoveSelector() [1/3]

void graphs_collection::RemoveSelector ( boost::graph_traits< graphs_collection >::edge_descriptor  edge)
inline

Remove all the selectors of an edge from this graph.

Parameters
edgeis the edge to be considered

Definition at line 338 of file graph.hpp.

◆ RemoveSelector() [2/3]

void graphs_collection::RemoveSelector ( boost::graph_traits< graphs_collection >::edge_descriptor  edge,
const int  selector 
)
inline

Remove an edge from this graph.

Parameters
edgeis the edge to be considered
selectoris the selector to remove

Definition at line 348 of file graph.hpp.

◆ RemoveSelector() [3/3]

void graphs_collection::RemoveSelector ( boost::graph_traits< graphs_collection >::vertex_descriptor  source,
boost::graph_traits< graphs_collection >::vertex_descriptor  target,
const int  selector 
)
inline

Remove an edge from this graph.

Definition at line 356 of file graph.hpp.

References THROW_ASSERT.

◆ RemoveVertex()

void graphs_collection::RemoveVertex ( boost::graph_traits< boost_graphs_collection >::vertex_descriptor  v)
virtual

Remove a vertex from this graph.

Header include.

Parameters
vis the vertex to be removed

Reimplemented in OpGraphsCollection.

Definition at line 44 of file graph.cpp.

References index, and test_panda::type.

Referenced by OpGraphsCollection::RemoveVertex().

Here is the caller graph for this function:

Field Documentation

◆ parameters

const ParameterConstRef graphs_collection::parameters

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

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