TuttleOFX
1
|
#include <InternalGraph.hpp>
Public Types | |
typedef VERTEX | Vertex |
typedef EDGE | Edge |
typedef InternalGraph< Vertex, Edge, OutEdgeList, VertexList, EdgeList > | This |
typedef boost::adjacency_list < OutEdgeList, VertexList, boost::bidirectionalS, Vertex, Edge, boost::no_property, EdgeList > | GraphContainer |
typedef boost::graph_traits < GraphContainer > ::vertex_descriptor | vertex_descriptor |
typedef boost::graph_traits < GraphContainer > ::edge_descriptor | edge_descriptor |
typedef boost::graph_traits < GraphContainer > ::vertex_iterator | vertex_iterator |
typedef boost::graph_traits < GraphContainer > ::edge_iterator | edge_iterator |
typedef boost::graph_traits < GraphContainer > ::adjacency_iterator | adjacency_iterator |
typedef boost::graph_traits < GraphContainer > ::out_edge_iterator | out_edge_iterator |
typedef boost::graph_traits < GraphContainer > ::in_edge_iterator | in_edge_iterator |
typedef boost::graph_traits < GraphContainer > ::degree_size_type | degree_t |
typedef std::pair < adjacency_iterator, adjacency_iterator > | adjacency_vertex_range_t |
typedef std::pair < out_edge_iterator, out_edge_iterator > | out_edge_range_t |
typedef std::pair < in_edge_iterator, in_edge_iterator > | in_edge_range_t |
typedef std::pair < vertex_iterator, vertex_iterator > | vertex_range_t |
typedef std::pair < edge_iterator, edge_iterator > | edge_range_t |
typedef Vertex::Key | VertexKey |
Public Member Functions | |
InternalGraph () | |
InternalGraph (const This &g) | |
template<typename V , typename E , typename OEL , typename VL , typename EL > | |
InternalGraph (const InternalGraph< V, E, OEL, VL, EL > &g) | |
This & | operator= (const This &g) |
template<typename V , typename E , typename OEL , typename VL , typename EL > | |
This & | operator= (const InternalGraph< V, E, OEL, VL, EL > &g) |
virtual | ~InternalGraph () |
void | clear () |
std::size_t | getNbEdges () const |
std::size_t | getNbVertices () const |
vertex_descriptor | addVertex (const Vertex &prop) |
void | clearVertex (const vertex_descriptor &vd) |
Remove in and out edges of a Vertex. | |
void | clearVertexInputs (const vertex_descriptor &vd) |
void | clearVertexOutputs (const vertex_descriptor &vd) |
void | removeVertex (const vertex_descriptor &vd) |
Remove a Vertex. | |
void | connect (const VertexKey &out, const VertexKey &in, const std::string &inAttr) |
void | unconnect (const VertexKey &out, const VertexKey &in, const std::string &inAttr) |
bool | hasEdge (const VertexKey &out, const VertexKey &in, const std::string &inAttr) const |
bool | hasEdge (const vertex_descriptor &out, const vertex_descriptor &in, const std::string &inAttr) const |
edge_descriptor | getEdge (const VertexKey &out, const VertexKey &in, const std::string &inAttr) const |
out_edge_range_t | getEdges (const vertex_descriptor &v1, const vertex_descriptor &v2) const |
edge_descriptor | addEdge (const vertex_descriptor &v1, const vertex_descriptor &v2, const Edge &prop) |
void | removeEdge (const edge_descriptor &e) |
vertex_descriptor & | getVertexDescriptor (const VertexKey &vertexKey) |
const vertex_descriptor & | getVertexDescriptor (const VertexKey &vertexKey) const |
Vertex & | getVertex (const VertexKey &vertexKey) |
const Vertex & | getVertex (const VertexKey &vertexKey) const |
const vertex_descriptor | source (const edge_descriptor &e) const |
Vertex & | sourceInstance (const edge_descriptor &e) |
const Vertex & | sourceInstance (const edge_descriptor &e) const |
const vertex_descriptor | target (const edge_descriptor &e) const |
Vertex & | targetInstance (const edge_descriptor &e) |
const Vertex & | targetInstance (const edge_descriptor &e) const |
Vertex & | instance (const vertex_descriptor &v) |
const Vertex & | instance (const vertex_descriptor &v) const |
Edge & | instance (const edge_descriptor &e) |
const Edge & | instance (const edge_descriptor &e) const |
GraphContainer & | getGraph () |
const GraphContainer & | getGraph () const |
edge_range_t | getEdges () |
const edge_range_t | getEdges () const |
in_edge_range_t | getInEdges (const vertex_descriptor &v) |
const in_edge_range_t | getInEdges (const vertex_descriptor &v) const |
out_edge_range_t | getOutEdges (const vertex_descriptor &v) |
const out_edge_range_t | getOutEdges (const vertex_descriptor &v) const |
vertex_range_t | getVertices () const |
std::vector< vertex_descriptor > | getConnectedVertices (const vertex_descriptor &vroot) |
std::vector< vertex_descriptor > | getUnconnectedVertices (const vertex_descriptor &vroot) |
adjacency_vertex_range_t | getAdjacentVertices (const vertex_descriptor &v) const |
std::size_t | getVertexCount () const |
std::size_t | getEdgeCount () const |
degree_t | getInDegree (const vertex_descriptor &v) const |
degree_t | getOutDegree (const vertex_descriptor &v) const |
bool | hasCycle () |
template<class Visitor > | |
void | depthFirstVisit (Visitor &vis, const vertex_descriptor &vroot) |
template<class Visitor > | |
void | depthFirstVisitReverse (Visitor &vis, const vertex_descriptor &vroot) |
template<class Visitor > | |
void | depthFirstSearch (Visitor &vis) |
template<class Visitor > | |
void | depthFirstSearchReverse (Visitor &vis) |
template<class Visitor > | |
void | depthFirstSearch (Visitor &vis, const vertex_descriptor &vroot) |
template<class Visitor > | |
void | depthFirstSearchReverse (Visitor &vis, const vertex_descriptor &vroot) |
template<class Visitor > | |
void | breadthFirstSearch (Visitor &vis, const vertex_descriptor &vroot) |
template<class Visitor > | |
void | breadthFirstSearch (Visitor &vis) |
void | copyTransposed (const This &g) |
template<typename V , typename E , typename OEL , typename VL , typename EL > | |
void | copyTransposed (const InternalGraph< V, E, OEL, VL, EL > &g) |
void | toDominatorTree () |
Create a tree from the graph. | |
std::vector< vertex_descriptor > | rootVertices () |
Create a vector of root vertices, ie. all nodes whithout parents. | |
std::vector< vertex_descriptor > | leafVertices () |
Create a vector of leaf vertices (or external node), ie. all nodes that has zero child node. | |
std::size_t | removeUnconnectedVertices (const vertex_descriptor &vroot) |
Remove all vertices without connection with vroot. | |
Protected Attributes | |
GraphContainer | _graph |
boost::unordered_map < VertexKey, vertex_descriptor > | _vertexDescriptorMap |
Private Member Functions | |
void | rebuildVertexDescriptorMap () |
Friends | |
template<typename Vertex , typename Edge > | |
std::ostream & | operator<< (std::ostream &os, const This &g) |
Definition at line 54 of file InternalGraph.hpp.
typedef boost::graph_traits<GraphContainer>::adjacency_iterator tuttle::host::graph::InternalGraph< VERTEX, EDGE, OutEdgeList, VertexList, EdgeList >::adjacency_iterator |
Definition at line 78 of file InternalGraph.hpp.
typedef std::pair<adjacency_iterator, adjacency_iterator> tuttle::host::graph::InternalGraph< VERTEX, EDGE, OutEdgeList, VertexList, EdgeList >::adjacency_vertex_range_t |
Definition at line 84 of file InternalGraph.hpp.
typedef boost::graph_traits<GraphContainer>::degree_size_type tuttle::host::graph::InternalGraph< VERTEX, EDGE, OutEdgeList, VertexList, EdgeList >::degree_t |
Definition at line 82 of file InternalGraph.hpp.
typedef EDGE tuttle::host::graph::InternalGraph< VERTEX, EDGE, OutEdgeList, VertexList, EdgeList >::Edge |
Definition at line 58 of file InternalGraph.hpp.
typedef boost::graph_traits<GraphContainer>::edge_descriptor tuttle::host::graph::InternalGraph< VERTEX, EDGE, OutEdgeList, VertexList, EdgeList >::edge_descriptor |
Definition at line 74 of file InternalGraph.hpp.
typedef boost::graph_traits<GraphContainer>::edge_iterator tuttle::host::graph::InternalGraph< VERTEX, EDGE, OutEdgeList, VertexList, EdgeList >::edge_iterator |
Definition at line 77 of file InternalGraph.hpp.
typedef std::pair<edge_iterator, edge_iterator> tuttle::host::graph::InternalGraph< VERTEX, EDGE, OutEdgeList, VertexList, EdgeList >::edge_range_t |
Definition at line 88 of file InternalGraph.hpp.
typedef boost::adjacency_list< OutEdgeList, VertexList, boost::bidirectionalS, Vertex, Edge, boost::no_property, EdgeList > tuttle::host::graph::InternalGraph< VERTEX, EDGE, OutEdgeList, VertexList, EdgeList >::GraphContainer |
Definition at line 70 of file InternalGraph.hpp.
typedef boost::graph_traits<GraphContainer>::in_edge_iterator tuttle::host::graph::InternalGraph< VERTEX, EDGE, OutEdgeList, VertexList, EdgeList >::in_edge_iterator |
Definition at line 80 of file InternalGraph.hpp.
typedef std::pair<in_edge_iterator, in_edge_iterator> tuttle::host::graph::InternalGraph< VERTEX, EDGE, OutEdgeList, VertexList, EdgeList >::in_edge_range_t |
Definition at line 86 of file InternalGraph.hpp.
typedef boost::graph_traits<GraphContainer>::out_edge_iterator tuttle::host::graph::InternalGraph< VERTEX, EDGE, OutEdgeList, VertexList, EdgeList >::out_edge_iterator |
Definition at line 79 of file InternalGraph.hpp.
typedef std::pair<out_edge_iterator, out_edge_iterator> tuttle::host::graph::InternalGraph< VERTEX, EDGE, OutEdgeList, VertexList, EdgeList >::out_edge_range_t |
Definition at line 85 of file InternalGraph.hpp.
typedef InternalGraph<Vertex, Edge, OutEdgeList, VertexList, EdgeList> tuttle::host::graph::InternalGraph< VERTEX, EDGE, OutEdgeList, VertexList, EdgeList >::This |
Definition at line 59 of file InternalGraph.hpp.
typedef VERTEX tuttle::host::graph::InternalGraph< VERTEX, EDGE, OutEdgeList, VertexList, EdgeList >::Vertex |
Definition at line 57 of file InternalGraph.hpp.
typedef boost::graph_traits<GraphContainer>::vertex_descriptor tuttle::host::graph::InternalGraph< VERTEX, EDGE, OutEdgeList, VertexList, EdgeList >::vertex_descriptor |
Definition at line 73 of file InternalGraph.hpp.
typedef boost::graph_traits<GraphContainer>::vertex_iterator tuttle::host::graph::InternalGraph< VERTEX, EDGE, OutEdgeList, VertexList, EdgeList >::vertex_iterator |
Definition at line 76 of file InternalGraph.hpp.
typedef std::pair<vertex_iterator, vertex_iterator> tuttle::host::graph::InternalGraph< VERTEX, EDGE, OutEdgeList, VertexList, EdgeList >::vertex_range_t |
Definition at line 87 of file InternalGraph.hpp.
typedef Vertex::Key tuttle::host::graph::InternalGraph< VERTEX, EDGE, OutEdgeList, VertexList, EdgeList >::VertexKey |
Definition at line 90 of file InternalGraph.hpp.
tuttle::host::graph::InternalGraph< VERTEX, EDGE, OutEdgeList, VertexList, EdgeList >::InternalGraph | ( | ) | [inline] |
Definition at line 93 of file InternalGraph.hpp.
tuttle::host::graph::InternalGraph< VERTEX, EDGE, OutEdgeList, VertexList, EdgeList >::InternalGraph | ( | const This & | g | ) | [inline] |
Definition at line 96 of file InternalGraph.hpp.
tuttle::host::graph::InternalGraph< VERTEX, EDGE, OutEdgeList, VertexList, EdgeList >::InternalGraph | ( | const InternalGraph< V, E, OEL, VL, EL > & | g | ) | [inline] |
Definition at line 102 of file InternalGraph.hpp.
virtual tuttle::host::graph::InternalGraph< VERTEX, EDGE, OutEdgeList, VertexList, EdgeList >::~InternalGraph | ( | ) | [inline, virtual] |
Definition at line 126 of file InternalGraph.hpp.
edge_descriptor tuttle::host::graph::InternalGraph< VERTEX, EDGE, OutEdgeList, VertexList, EdgeList >::addEdge | ( | const vertex_descriptor & | v1, |
const vertex_descriptor & | v2, | ||
const Edge & | prop | ||
) | [inline] |
Definition at line 250 of file InternalGraph.hpp.
Referenced by tuttle::host::graph::InternalGraph< Vertex, Edge >::connect(), and tuttle::host::graph::ProcessGraph::setupAtTime().
vertex_descriptor tuttle::host::graph::InternalGraph< VERTEX, EDGE, OutEdgeList, VertexList, EdgeList >::addVertex | ( | const Vertex & | prop | ) | [inline] |
Definition at line 146 of file InternalGraph.hpp.
Referenced by tuttle::host::Graph::addToInternalGraph(), tuttle::host::graph::ProcessGraph::setupAtTime(), and tuttle::host::graph::ProcessGraph::updateGraph().
void tuttle::host::graph::InternalGraph< VERTEX, EDGE, OutEdgeList, VertexList, EdgeList >::breadthFirstSearch | ( | Visitor & | vis, |
const vertex_descriptor & | vroot | ||
) | [inline] |
Definition at line 466 of file InternalGraph.hpp.
void tuttle::host::graph::InternalGraph< VERTEX, EDGE, OutEdgeList, VertexList, EdgeList >::breadthFirstSearch | ( | Visitor & | vis | ) | [inline] |
Definition at line 475 of file InternalGraph.hpp.
void tuttle::host::graph::InternalGraph< VERTEX, EDGE, OutEdgeList, VertexList, EdgeList >::clear | ( | ) | [inline] |
Definition at line 130 of file InternalGraph.hpp.
Referenced by tuttle::host::Graph::clear(), tuttle::host::graph::InternalGraph< Vertex, Edge >::operator=(), tuttle::host::graph::ProcessGraph::process(), and tuttle::host::graph::ProcessGraph::setupAtTime().
void tuttle::host::graph::InternalGraph< VERTEX, EDGE, OutEdgeList, VertexList, EdgeList >::clearVertex | ( | const vertex_descriptor & | vd | ) | [inline] |
Remove in and out edges of a Vertex.
Definition at line 158 of file InternalGraph.hpp.
Referenced by tuttle::host::graph::InternalGraph< Vertex, Edge >::removeVertex(), and tuttle::host::Graph::unconnect().
void tuttle::host::graph::InternalGraph< VERTEX, EDGE, OutEdgeList, VertexList, EdgeList >::clearVertexInputs | ( | const vertex_descriptor & | vd | ) | [inline] |
Definition at line 162 of file InternalGraph.hpp.
void tuttle::host::graph::InternalGraph< VERTEX, EDGE, OutEdgeList, VertexList, EdgeList >::clearVertexOutputs | ( | const vertex_descriptor & | vd | ) | [inline] |
Definition at line 166 of file InternalGraph.hpp.
void tuttle::host::graph::InternalGraph< VERTEX, EDGE, OutEdgeList, VertexList, EdgeList >::connect | ( | const VertexKey & | out, |
const VertexKey & | in, | ||
const std::string & | inAttr | ||
) | [inline] |
Definition at line 183 of file InternalGraph.hpp.
Referenced by tuttle::host::Graph::connect(), and tuttle::host::graph::ProcessGraph::updateGraph().
void tuttle::host::graph::InternalGraph< VERTEX, EDGE, OutEdgeList, VertexList, EdgeList >::copyTransposed | ( | const This & | g | ) | [inline] |
Definition at line 482 of file InternalGraph.hpp.
Referenced by tuttle::host::graph::ProcessGraph::updateGraph().
void tuttle::host::graph::InternalGraph< VERTEX, EDGE, OutEdgeList, VertexList, EdgeList >::copyTransposed | ( | const InternalGraph< V, E, OEL, VL, EL > & | g | ) | [inline] |
Definition at line 490 of file InternalGraph.hpp.
void tuttle::host::graph::InternalGraph< VERTEX, EDGE, OutEdgeList, VertexList, EdgeList >::depthFirstSearch | ( | Visitor & | vis | ) | [inline] |
Definition at line 429 of file InternalGraph.hpp.
Referenced by tuttle::host::graph::InternalGraph< Vertex, Edge >::hasCycle().
void tuttle::host::graph::InternalGraph< VERTEX, EDGE, OutEdgeList, VertexList, EdgeList >::depthFirstSearch | ( | Visitor & | vis, |
const vertex_descriptor & | vroot | ||
) | [inline] |
Definition at line 447 of file InternalGraph.hpp.
void tuttle::host::graph::InternalGraph< VERTEX, EDGE, OutEdgeList, VertexList, EdgeList >::depthFirstSearchReverse | ( | Visitor & | vis | ) | [inline] |
Definition at line 437 of file InternalGraph.hpp.
void tuttle::host::graph::InternalGraph< VERTEX, EDGE, OutEdgeList, VertexList, EdgeList >::depthFirstSearchReverse | ( | Visitor & | vis, |
const vertex_descriptor & | vroot | ||
) | [inline] |
Definition at line 456 of file InternalGraph.hpp.
void tuttle::host::graph::InternalGraph< VERTEX, EDGE, OutEdgeList, VertexList, EdgeList >::depthFirstVisit | ( | Visitor & | vis, |
const vertex_descriptor & | vroot | ||
) | [inline] |
Definition at line 390 of file InternalGraph.hpp.
Referenced by tuttle::host::graph::ProcessGraph::computeHashAtTime(), tuttle::host::graph::ProcessGraph::processAtTime(), tuttle::host::graph::ProcessGraph::setup(), and tuttle::host::graph::ProcessGraph::setupAtTime().
void tuttle::host::graph::InternalGraph< VERTEX, EDGE, OutEdgeList, VertexList, EdgeList >::depthFirstVisitReverse | ( | Visitor & | vis, |
const vertex_descriptor & | vroot | ||
) | [inline] |
Definition at line 408 of file InternalGraph.hpp.
adjacency_vertex_range_t tuttle::host::graph::InternalGraph< VERTEX, EDGE, OutEdgeList, VertexList, EdgeList >::getAdjacentVertices | ( | const vertex_descriptor & | v | ) | const [inline] |
Definition at line 370 of file InternalGraph.hpp.
std::vector< typename InternalGraph< VERTEX, EDGE, OutEdgeList, VertexList, EdgeList >::vertex_descriptor > tuttle::host::graph::InternalGraph< VERTEX, EDGE, OutEdgeList, VertexList, EdgeList >::getConnectedVertices | ( | const vertex_descriptor & | vroot | ) |
Definition at line 88 of file InternalGraph.tcc.
Referenced by tuttle::host::Graph::getConnectedNodes().
edge_descriptor tuttle::host::graph::InternalGraph< VERTEX, EDGE, OutEdgeList, VertexList, EdgeList >::getEdge | ( | const VertexKey & | out, |
const VertexKey & | in, | ||
const std::string & | inAttr | ||
) | const [inline] |
Definition at line 231 of file InternalGraph.hpp.
Referenced by tuttle::host::graph::InternalGraph< Vertex, Edge >::unconnect().
std::size_t tuttle::host::graph::InternalGraph< VERTEX, EDGE, OutEdgeList, VertexList, EdgeList >::getEdgeCount | ( | ) | const [inline] |
Definition at line 374 of file InternalGraph.hpp.
Referenced by tuttle::host::Graph::getNbConnections().
out_edge_range_t tuttle::host::graph::InternalGraph< VERTEX, EDGE, OutEdgeList, VertexList, EdgeList >::getEdges | ( | const vertex_descriptor & | v1, |
const vertex_descriptor & | v2 | ||
) | const [inline] |
Definition at line 245 of file InternalGraph.hpp.
Referenced by tuttle::host::graph::ProcessGraph::setupAtTime().
edge_range_t tuttle::host::graph::InternalGraph< VERTEX, EDGE, OutEdgeList, VertexList, EdgeList >::getEdges | ( | ) | [inline] |
Definition at line 357 of file InternalGraph.hpp.
Referenced by tuttle::host::graph::InternalGraph< Vertex, Edge >::getEdge(), and tuttle::host::graph::InternalGraph< Vertex, Edge >::hasEdge().
const edge_range_t tuttle::host::graph::InternalGraph< VERTEX, EDGE, OutEdgeList, VertexList, EdgeList >::getEdges | ( | ) | const [inline] |
Definition at line 358 of file InternalGraph.hpp.
GraphContainer& tuttle::host::graph::InternalGraph< VERTEX, EDGE, OutEdgeList, VertexList, EdgeList >::getGraph | ( | ) | [inline] |
Definition at line 347 of file InternalGraph.hpp.
Referenced by tuttle::host::graph::ProcessGraph::computeTimeRange(), tuttle::host::graph::InternalGraph< Vertex, Edge >::copyTransposed(), tuttle::host::graph::exportAsDOT(), tuttle::host::graph::exportDebugAsDOT(), tuttle::host::graph::exportSimple(), tuttle::host::graph::InternalGraph< Vertex, Edge >::operator=(), and tuttle::host::graph::ProcessGraph::setupAtTime().
const GraphContainer& tuttle::host::graph::InternalGraph< VERTEX, EDGE, OutEdgeList, VertexList, EdgeList >::getGraph | ( | ) | const [inline] |
Definition at line 352 of file InternalGraph.hpp.
degree_t tuttle::host::graph::InternalGraph< VERTEX, EDGE, OutEdgeList, VertexList, EdgeList >::getInDegree | ( | const vertex_descriptor & | v | ) | const [inline] |
Definition at line 376 of file InternalGraph.hpp.
Referenced by tuttle::host::graph::ProcessGraph::bakeGraphInformationToNodes(), and tuttle::host::Graph::getNbInputConnections().
in_edge_range_t tuttle::host::graph::InternalGraph< VERTEX, EDGE, OutEdgeList, VertexList, EdgeList >::getInEdges | ( | const vertex_descriptor & | v | ) | [inline] |
Definition at line 360 of file InternalGraph.hpp.
Referenced by tuttle::host::graph::ProcessGraph::bakeGraphInformationToNodes(), and tuttle::host::Graph::replaceNodeConnections().
const in_edge_range_t tuttle::host::graph::InternalGraph< VERTEX, EDGE, OutEdgeList, VertexList, EdgeList >::getInEdges | ( | const vertex_descriptor & | v | ) | const [inline] |
Definition at line 361 of file InternalGraph.hpp.
std::size_t tuttle::host::graph::InternalGraph< VERTEX, EDGE, OutEdgeList, VertexList, EdgeList >::getNbEdges | ( | ) | const [inline] |
Definition at line 136 of file InternalGraph.hpp.
std::size_t tuttle::host::graph::InternalGraph< VERTEX, EDGE, OutEdgeList, VertexList, EdgeList >::getNbVertices | ( | ) | const [inline] |
Definition at line 141 of file InternalGraph.hpp.
degree_t tuttle::host::graph::InternalGraph< VERTEX, EDGE, OutEdgeList, VertexList, EdgeList >::getOutDegree | ( | const vertex_descriptor & | v | ) | const [inline] |
Definition at line 378 of file InternalGraph.hpp.
Referenced by tuttle::host::graph::ProcessGraph::bakeGraphInformationToNodes(), and tuttle::host::Graph::getNbOutputConnections().
out_edge_range_t tuttle::host::graph::InternalGraph< VERTEX, EDGE, OutEdgeList, VertexList, EdgeList >::getOutEdges | ( | const vertex_descriptor & | v | ) | [inline] |
Definition at line 363 of file InternalGraph.hpp.
Referenced by tuttle::host::graph::ProcessGraph::bakeGraphInformationToNodes(), and tuttle::host::Graph::replaceNodeConnections().
const out_edge_range_t tuttle::host::graph::InternalGraph< VERTEX, EDGE, OutEdgeList, VertexList, EdgeList >::getOutEdges | ( | const vertex_descriptor & | v | ) | const [inline] |
Definition at line 364 of file InternalGraph.hpp.
std::vector< typename InternalGraph< VERTEX, EDGE, OutEdgeList, VertexList, EdgeList >::vertex_descriptor > tuttle::host::graph::InternalGraph< VERTEX, EDGE, OutEdgeList, VertexList, EdgeList >::getUnconnectedVertices | ( | const vertex_descriptor & | vroot | ) |
Definition at line 111 of file InternalGraph.tcc.
Referenced by tuttle::host::Graph::deleteUnconnectedNodes(), and tuttle::host::Graph::getUnconnectedNodes().
Vertex& tuttle::host::graph::InternalGraph< VERTEX, EDGE, OutEdgeList, VertexList, EdgeList >::getVertex | ( | const VertexKey & | vertexKey | ) | [inline] |
Definition at line 286 of file InternalGraph.hpp.
Referenced by tuttle::host::graph::InternalGraph< Vertex, Edge >::getEdge(), tuttle::host::graph::ProcessGraph::processAtTime(), and tuttle::host::graph::InternalGraph< Vertex, Edge >::unconnect().
const Vertex& tuttle::host::graph::InternalGraph< VERTEX, EDGE, OutEdgeList, VertexList, EdgeList >::getVertex | ( | const VertexKey & | vertexKey | ) | const [inline] |
Definition at line 291 of file InternalGraph.hpp.
std::size_t tuttle::host::graph::InternalGraph< VERTEX, EDGE, OutEdgeList, VertexList, EdgeList >::getVertexCount | ( | ) | const [inline] |
Definition at line 372 of file InternalGraph.hpp.
vertex_descriptor& tuttle::host::graph::InternalGraph< VERTEX, EDGE, OutEdgeList, VertexList, EdgeList >::getVertexDescriptor | ( | const VertexKey & | vertexKey | ) | [inline] |
Definition at line 276 of file InternalGraph.hpp.
Referenced by tuttle::host::graph::ProcessGraph::computeTimeRange(), tuttle::host::graph::InternalGraph< Vertex, Edge >::connect(), tuttle::host::Graph::deleteUnconnectedNodes(), tuttle::host::Graph::getConnectedNodes(), tuttle::host::graph::InternalGraph< Vertex, Edge >::getEdge(), tuttle::host::Graph::getNbInputConnections(), tuttle::host::Graph::getNbOutputConnections(), tuttle::host::graph::ProcessGraph::getOutputVertexAtTime(), tuttle::host::Graph::getUnconnectedNodes(), tuttle::host::graph::InternalGraph< Vertex, Edge >::getVertex(), tuttle::host::graph::InternalGraph< Vertex, Edge >::hasEdge(), tuttle::host::graph::ProcessGraph::relink(), tuttle::host::Graph::removeFromInternalGraph(), tuttle::host::Graph::replaceNodeConnections(), tuttle::host::graph::ProcessGraph::setup(), tuttle::host::graph::ProcessGraph::setupAtTime(), and tuttle::host::Graph::unconnect().
const vertex_descriptor& tuttle::host::graph::InternalGraph< VERTEX, EDGE, OutEdgeList, VertexList, EdgeList >::getVertexDescriptor | ( | const VertexKey & | vertexKey | ) | const [inline] |
Definition at line 281 of file InternalGraph.hpp.
vertex_range_t tuttle::host::graph::InternalGraph< VERTEX, EDGE, OutEdgeList, VertexList, EdgeList >::getVertices | ( | ) | const [inline] |
Definition at line 366 of file InternalGraph.hpp.
Referenced by tuttle::host::graph::ProcessGraph::bakeGraphInformationToNodes(), tuttle::host::graph::InternalGraph< Vertex, Edge >::depthFirstVisit(), tuttle::host::graph::ProcessGraph::processAtTime(), tuttle::host::graph::ProcessGraph::relink(), tuttle::host::graph::ProcessGraph::setup(), and tuttle::host::graph::ProcessGraph::setupAtTime().
bool tuttle::host::graph::InternalGraph< VERTEX, EDGE, OutEdgeList, VertexList, EdgeList >::hasCycle | ( | ) | [inline] |
Definition at line 380 of file InternalGraph.hpp.
Referenced by tuttle::host::graph::InternalGraph< Vertex, Edge >::addEdge(), and tuttle::host::graph::InternalGraph< Vertex, Edge >::hasCycle().
bool tuttle::host::graph::InternalGraph< VERTEX, EDGE, OutEdgeList, VertexList, EdgeList >::hasEdge | ( | const VertexKey & | out, |
const VertexKey & | in, | ||
const std::string & | inAttr | ||
) | const [inline] |
Definition at line 213 of file InternalGraph.hpp.
Referenced by tuttle::host::graph::InternalGraph< Vertex, Edge >::addEdge(), and tuttle::host::graph::InternalGraph< Vertex, Edge >::hasEdge().
bool tuttle::host::graph::InternalGraph< VERTEX, EDGE, OutEdgeList, VertexList, EdgeList >::hasEdge | ( | const vertex_descriptor & | out, |
const vertex_descriptor & | in, | ||
const std::string & | inAttr | ||
) | const [inline] |
Definition at line 218 of file InternalGraph.hpp.
Vertex& tuttle::host::graph::InternalGraph< VERTEX, EDGE, OutEdgeList, VertexList, EdgeList >::instance | ( | const vertex_descriptor & | v | ) | [inline] |
Definition at line 327 of file InternalGraph.hpp.
Referenced by tuttle::host::graph::InternalGraph< Vertex, Edge >::addEdge(), tuttle::host::graph::ProcessGraph::bakeGraphInformationToNodes(), tuttle::host::Graph::deleteUnconnectedNodes(), tuttle::host::Graph::getConnectedNodes(), tuttle::host::graph::InternalGraph< Vertex, Edge >::getEdge(), tuttle::host::Graph::getUnconnectedNodes(), tuttle::host::graph::InternalGraph< Vertex, Edge >::getVertex(), tuttle::host::graph::InternalGraph< Vertex, Edge >::hasEdge(), tuttle::host::graph::ProcessGraph::processAtTime(), tuttle::host::graph::ProcessGraph::relink(), tuttle::host::Graph::replaceNodeConnections(), tuttle::host::graph::ProcessGraph::setup(), tuttle::host::graph::ProcessGraph::setupAtTime(), tuttle::host::graph::InternalGraph< Vertex, Edge >::sourceInstance(), tuttle::host::graph::InternalGraph< Vertex, Edge >::targetInstance(), and tuttle::host::graph::ProcessGraph::updateGraph().
const Vertex& tuttle::host::graph::InternalGraph< VERTEX, EDGE, OutEdgeList, VertexList, EdgeList >::instance | ( | const vertex_descriptor & | v | ) | const [inline] |
Definition at line 332 of file InternalGraph.hpp.
Edge& tuttle::host::graph::InternalGraph< VERTEX, EDGE, OutEdgeList, VertexList, EdgeList >::instance | ( | const edge_descriptor & | e | ) | [inline] |
Definition at line 337 of file InternalGraph.hpp.
const Edge& tuttle::host::graph::InternalGraph< VERTEX, EDGE, OutEdgeList, VertexList, EdgeList >::instance | ( | const edge_descriptor & | e | ) | const [inline] |
Definition at line 342 of file InternalGraph.hpp.
std::vector< typename InternalGraph< VERTEX, EDGE, OutEdgeList, VertexList, EdgeList >::vertex_descriptor > tuttle::host::graph::InternalGraph< VERTEX, EDGE, OutEdgeList, VertexList, EdgeList >::leafVertices | ( | ) |
Create a vector of leaf vertices (or external node), ie. all nodes that has zero child node.
Definition at line 65 of file InternalGraph.tcc.
This& tuttle::host::graph::InternalGraph< VERTEX, EDGE, OutEdgeList, VertexList, EdgeList >::operator= | ( | const This & | g | ) | [inline] |
Definition at line 107 of file InternalGraph.hpp.
This& tuttle::host::graph::InternalGraph< VERTEX, EDGE, OutEdgeList, VertexList, EdgeList >::operator= | ( | const InternalGraph< V, E, OEL, VL, EL > & | g | ) | [inline] |
Definition at line 118 of file InternalGraph.hpp.
void tuttle::host::graph::InternalGraph< VERTEX, EDGE, OutEdgeList, VertexList, EdgeList >::rebuildVertexDescriptorMap | ( | ) | [private] |
void tuttle::host::graph::InternalGraph< VERTEX, EDGE, OutEdgeList, VertexList, EdgeList >::removeEdge | ( | const edge_descriptor & | e | ) | [inline] |
Definition at line 271 of file InternalGraph.hpp.
Referenced by tuttle::host::graph::InternalGraph< Vertex, Edge >::addEdge(), and tuttle::host::graph::InternalGraph< Vertex, Edge >::unconnect().
std::size_t tuttle::host::graph::InternalGraph< VERTEX, EDGE, OutEdgeList, VertexList, EdgeList >::removeUnconnectedVertices | ( | const vertex_descriptor & | vroot | ) |
Remove all vertices without connection with vroot.
Definition at line 132 of file InternalGraph.tcc.
Referenced by tuttle::host::graph::ProcessGraph::relink().
void tuttle::host::graph::InternalGraph< VERTEX, EDGE, OutEdgeList, VertexList, EdgeList >::removeVertex | ( | const vertex_descriptor & | vd | ) | [inline] |
Remove a Vertex.
Definition at line 174 of file InternalGraph.hpp.
Referenced by tuttle::host::Graph::removeFromInternalGraph().
std::vector< typename InternalGraph< VERTEX, EDGE, OutEdgeList, VertexList, EdgeList >::vertex_descriptor > tuttle::host::graph::InternalGraph< VERTEX, EDGE, OutEdgeList, VertexList, EdgeList >::rootVertices | ( | ) |
Create a vector of root vertices, ie. all nodes whithout parents.
Definition at line 52 of file InternalGraph.tcc.
Referenced by tuttle::host::graph::ProcessGraph::updateGraph().
const vertex_descriptor tuttle::host::graph::InternalGraph< VERTEX, EDGE, OutEdgeList, VertexList, EdgeList >::source | ( | const edge_descriptor & | e | ) | const [inline] |
Definition at line 296 of file InternalGraph.hpp.
Referenced by tuttle::host::graph::InternalGraph< Vertex, Edge >::source(), and tuttle::host::graph::InternalGraph< Vertex, Edge >::sourceInstance().
Vertex& tuttle::host::graph::InternalGraph< VERTEX, EDGE, OutEdgeList, VertexList, EdgeList >::sourceInstance | ( | const edge_descriptor & | e | ) | [inline] |
Definition at line 301 of file InternalGraph.hpp.
Referenced by tuttle::host::Graph::replaceNodeConnections(), and tuttle::host::graph::ProcessGraph::setupAtTime().
const Vertex& tuttle::host::graph::InternalGraph< VERTEX, EDGE, OutEdgeList, VertexList, EdgeList >::sourceInstance | ( | const edge_descriptor & | e | ) | const [inline] |
Definition at line 306 of file InternalGraph.hpp.
const vertex_descriptor tuttle::host::graph::InternalGraph< VERTEX, EDGE, OutEdgeList, VertexList, EdgeList >::target | ( | const edge_descriptor & | e | ) | const [inline] |
Definition at line 311 of file InternalGraph.hpp.
Referenced by tuttle::host::graph::InternalGraph< Vertex, Edge >::target(), and tuttle::host::graph::InternalGraph< Vertex, Edge >::targetInstance().
Vertex& tuttle::host::graph::InternalGraph< VERTEX, EDGE, OutEdgeList, VertexList, EdgeList >::targetInstance | ( | const edge_descriptor & | e | ) | [inline] |
Definition at line 316 of file InternalGraph.hpp.
Referenced by tuttle::host::graph::ProcessGraph::computeTimeRange(), tuttle::host::Graph::replaceNodeConnections(), and tuttle::host::graph::ProcessGraph::setupAtTime().
const Vertex& tuttle::host::graph::InternalGraph< VERTEX, EDGE, OutEdgeList, VertexList, EdgeList >::targetInstance | ( | const edge_descriptor & | e | ) | const [inline] |
Definition at line 321 of file InternalGraph.hpp.
void tuttle::host::graph::InternalGraph< VERTEX, EDGE, OutEdgeList, VertexList, EdgeList >::toDominatorTree | ( | ) |
Create a tree from the graph.
Definition at line 12 of file InternalGraph.tcc.
void tuttle::host::graph::InternalGraph< VERTEX, EDGE, OutEdgeList, VertexList, EdgeList >::unconnect | ( | const VertexKey & | out, |
const VertexKey & | in, | ||
const std::string & | inAttr | ||
) | [inline] |
Definition at line 200 of file InternalGraph.hpp.
Referenced by tuttle::host::Graph::unconnect().
std::ostream& operator<< | ( | std::ostream & | os, |
const This & | g | ||
) | [friend] |
GraphContainer tuttle::host::graph::InternalGraph< VERTEX, EDGE, OutEdgeList, VertexList, EdgeList >::_graph [protected] |
Definition at line 525 of file InternalGraph.hpp.
Referenced by tuttle::host::graph::InternalGraph< Vertex, Edge >::addEdge(), tuttle::host::graph::InternalGraph< Vertex, Edge >::addVertex(), tuttle::host::graph::InternalGraph< Vertex, Edge >::breadthFirstSearch(), tuttle::host::graph::InternalGraph< Vertex, Edge >::clear(), tuttle::host::graph::InternalGraph< Vertex, Edge >::clearVertex(), tuttle::host::graph::InternalGraph< Vertex, Edge >::clearVertexInputs(), tuttle::host::graph::InternalGraph< Vertex, Edge >::clearVertexOutputs(), tuttle::host::graph::InternalGraph< Vertex, Edge >::copyTransposed(), tuttle::host::graph::InternalGraph< Vertex, Edge >::depthFirstSearch(), tuttle::host::graph::InternalGraph< Vertex, Edge >::depthFirstSearchReverse(), tuttle::host::graph::InternalGraph< Vertex, Edge >::depthFirstVisit(), tuttle::host::graph::InternalGraph< Vertex, Edge >::depthFirstVisitReverse(), tuttle::host::graph::InternalGraph< Vertex, Edge >::getAdjacentVertices(), tuttle::host::graph::InternalGraph< Vertex, Edge >::getEdgeCount(), tuttle::host::graph::InternalGraph< Vertex, Edge >::getEdges(), tuttle::host::graph::InternalGraph< Vertex, Edge >::getGraph(), tuttle::host::graph::InternalGraph< Vertex, Edge >::getInDegree(), tuttle::host::graph::InternalGraph< Vertex, Edge >::getInEdges(), tuttle::host::graph::InternalGraph< Vertex, Edge >::getNbEdges(), tuttle::host::graph::InternalGraph< Vertex, Edge >::getNbVertices(), tuttle::host::graph::InternalGraph< Vertex, Edge >::getOutDegree(), tuttle::host::graph::InternalGraph< Vertex, Edge >::getOutEdges(), tuttle::host::graph::InternalGraph< Vertex, Edge >::getVertexCount(), tuttle::host::graph::InternalGraph< Vertex, Edge >::getVertices(), tuttle::host::graph::InternalGraph< Vertex, Edge >::instance(), tuttle::host::graph::InternalGraph< Vertex, Edge >::operator=(), tuttle::host::graph::InternalGraph< Vertex, Edge >::removeEdge(), tuttle::host::graph::InternalGraph< Vertex, Edge >::removeVertex(), tuttle::host::graph::InternalGraph< Vertex, Edge >::source(), and tuttle::host::graph::InternalGraph< Vertex, Edge >::target().
boost::unordered_map<VertexKey, vertex_descriptor> tuttle::host::graph::InternalGraph< VERTEX, EDGE, OutEdgeList, VertexList, EdgeList >::_vertexDescriptorMap [protected] |