template<class NodeInfo, class EdgeInfo>
class Rose::FlowGraphInterface::SawyerCtrlflowGraph< NodeInfo, EdgeInfo >
Definition at line 12 of file SawyerGraphConnection.h.
|
| typedef Sawyer::Container::Graph< NodeInfo, EdgeInfo >::ConstVertexIterator | NodeIterator |
| |
| typedef Sawyer::Container::Graph< NodeInfo, EdgeInfo >::ConstEdgeIterator | EdgeIterator |
| |
| typedef Sawyer::Container::Graph< NodeInfo, EdgeInfo > | SawyerBase |
| |
| typedef boost::iterator_range< EdgeIterator > | EdgeCollectionType |
| |
| typedef boost::iterator_range< NodeIterator > | NodeCollectionType |
| |
| typedef Rose::FlowGraphInterface::CtrlflowGraphInterface< typename Sawyer::Container::Graph< NodeInfo, EdgeInfo >::ConstVertexIterator, typename Sawyer::Container::Graph< NodeInfo, EdgeInfo >::ConstEdgeIterator, NodeInfo, EdgeInfo > | FlowGraphInterfaceType |
| |
| typedef NodeInfo | VertexValue |
| | User-level data associated with vertices.
|
| |
| typedef EdgeInfo | EdgeValue |
| | User-level data associated with edges.
|
| |
| typedef GraphVertexNoKey< NodeInfo > | VertexKey |
| | Type for looking up a vertex.
|
| |
| typedef GraphEdgeNoKey< EdgeInfo > | EdgeKey |
| | Type for looking up an edge.
|
| |
| typedef DefaultAllocator | Allocator |
| | Allocator for vertex and edge nodes.
|
| |
| typedef Edge EdgeNode | __attribute__((deprecated)) |
| |
| typedef Vertex VertexNode | __attribute__((deprecated)) |
| |
| typedef EdgeIterator EdgeNodeIterator | __attribute__((deprecated)) |
| |
| typedef ConstEdgeIterator ConstEdgeNodeIterator | __attribute__((deprecated)) |
| |
| typedef VertexIterator VertexNodeIterator | __attribute__((deprecated)) |
| |
| typedef ConstVertexIterator ConstVertexNodeIterator | __attribute__((deprecated)) |
| |
| using | NodeCollectionType = boost::iterator_range< Sawyer::Container::Graph< NodeInfo, EdgeInfo >::ConstVertexIterator > |
| |
| using | EdgeCollectionType = boost::iterator_range< Sawyer::Container::Graph< NodeInfo, EdgeInfo >::ConstEdgeIterator > |
| |
| using | NodeCollectionType = NodeCollection |
| |
| using | EdgeCollectionType = EdgeCollection |
| |
| using | NodePredicate = std::function< bool(NodeIterator)> |
| |
| using | EdgePredicate = std::function< bool(EdgeIterator)> |
| |
|
| virtual NodeCollectionType | getNodes (NodePredicate=noFilter< NodeIterator >()) const override |
| |
| virtual EdgeCollectionType | getEdges (EdgePredicate=noFilter< EdgeIterator >()) const override |
| |
| virtual const NodeInfo & | dereferenceNode (const NodeIterator &p) const |
| |
| virtual const EdgeInfo & | dereferenceEdge (const EdgeIterator &p) const |
| |
| virtual NodeIterator | edgeSource (const EdgeIterator &p) const override |
| |
| virtual NodeIterator | edgeTarget (const EdgeIterator &p) const override |
| |
| virtual EdgeCollectionType | getEdgesFrom (const NodeIterator &p, EdgePredicate=noFilter< EdgeIterator >()) const override |
| |
| virtual EdgeCollectionType | getEdgesTo (const NodeIterator &p, EdgePredicate=noFilter< EdgeIterator >()) const override |
| |
| virtual NodeIterator | addNode (const NodeInfo &node) override |
| |
| virtual EdgeIterator | addEdge (const NodeIterator &p1, const NodeIterator &p2, const EdgeInfo &t) override |
| |
| | Graph (const Allocator &allocator=Allocator()) |
| | Default constructor.
|
| |
| | Graph (const Graph &other) |
| | Copy constructor.
|
| |
| | Graph (const Graph< V2, E2, VKey2, EKey2, Alloc2 > &other, const Allocator &allocator=Allocator()) |
| | Copy constructor.
|
| |
| Graph & | operator= (const Graph &other) |
| | Assignment.
|
| |
| Graph & | operator= (const Graph< V2, E2, VKey2, EKey2, Alloc2 > &other) |
| | Assignment.
|
| |
| const Allocator & | allocator () |
| | Allocator.
|
| |
| bool | isValidVertex (const ConstVertexIterator &vertex) const |
| | Determines whether the vertex iterator is valid.
|
| |
| bool | isValidEdge (const ConstEdgeIterator &edge) const |
| | Determines whether the edge iterator is valid.
|
| |
| size_t | nVertices () const |
| | Total number of vertices.
|
| |
| size_t | nEdges () const |
| | Total number of edges.
|
| |
| bool | isEmpty () const |
| | True if graph is empty.
|
| |
| VertexIterator | insertVertex (const VertexValue &value=VertexValue()) |
| | Insert a new vertex.
|
| |
| VertexIterator | insertVertexMaybe (const VertexValue &value) |
| | Optionally insert a new vertex.
|
| |
| EdgeIterator | insertEdgeWithVertices (const VertexValue &sourceValue, const VertexValue &targetValue, const EdgeValue &edgeValue=EdgeValue()) |
| | Insert an edge and its vertex end points.
|
| |
| EdgeIterator | eraseEdgeWithVertices (const EdgeIterator &edge) |
| | Erases and edge and possibly vertices.
|
| |
| void | clearEdges () |
| | Erase all edges, but leave all vertices.
|
| |
| void | clear () |
| | Remove all vertices and edges.
|
| |
| boost::iterator_range< VertexIterator > | vertices () |
| | Iterators for all vertices.
|
| |
| boost::iterator_range< ConstVertexIterator > | vertices () const |
| | Iterators for all vertices.
|
| |
| boost::iterator_range< VertexValueIterator > | vertexValues () |
| | Iterators for all vertices.
|
| |
| boost::iterator_range< ConstVertexValueIterator > | vertexValues () const |
| | Iterators for all vertices.
|
| |
| VertexIterator | findVertex (size_t id) |
| | Finds the vertex with specified ID number.
|
| |
| ConstVertexIterator | findVertex (size_t id) const |
| | Finds the vertex with specified ID number.
|
| |
| VertexIterator | findVertexKey (const VertexKey &key) |
| | Finds a vertex given its key.
|
| |
| ConstVertexIterator | findVertexKey (const VertexKey &key) const |
| | Finds a vertex given its key.
|
| |
| VertexIterator | findVertexValue (const VertexValue &value) |
| | Finds a vertex given its value.
|
| |
| ConstVertexIterator | findVertexValue (const VertexValue &value) const |
| | Finds a vertex given its value.
|
| |
| boost::iterator_range< EdgeIterator > | edges () |
| | Iterators for all edges.
|
| |
| boost::iterator_range< ConstEdgeIterator > | edges () const |
| | Iterators for all edges.
|
| |
| boost::iterator_range< EdgeValueIterator > | edgeValues () |
| | Iterators for all edges.
|
| |
| boost::iterator_range< ConstEdgeValueIterator > | edgeValues () const |
| | Iterators for all edges.
|
| |
| EdgeIterator | findEdge (size_t id) |
| | Finds the edge with specified ID number.
|
| |
| ConstEdgeIterator | findEdge (size_t id) const |
| | Finds the edge with specified ID number.
|
| |
| EdgeIterator | findEdgeKey (const EdgeKey &key) |
| | Finds an edge given its key.
|
| |
| ConstEdgeIterator | findEdgeKey (const EdgeKey &key) const |
| | Finds an edge given its key.
|
| |
| EdgeIterator | findEdgeValue (const EdgeValue &value) |
| | Finds an edge given its value.
|
| |
| ConstEdgeIterator | findEdgeValue (const EdgeValue &value) const |
| | Finds an edge given its value.
|
| |
| EdgeIterator | insertEdge (const VertexIterator &sourceVertex, const VertexIterator &targetVertex, const EdgeValue &value=EdgeValue()) |
| | Insert a new edge.
|
| |
| EdgeIterator | insertEdge (const ConstVertexIterator &sourceVertex, const ConstVertexIterator &targetVertex, const EdgeValue &value=EdgeValue()) |
| | Insert a new edge.
|
| |
| EdgeIterator | insertEdgeMaybe (const VertexIterator &sourceVertex, const VertexIterator &targetVertex, const EdgeValue &value=EdgeValue()) |
| | Optionally insert a new edge.
|
| |
| EdgeIterator | insertEdgeMaybe (const ConstVertexIterator &sourceVertex, const ConstVertexIterator &targetVertex, const EdgeValue &value=EdgeValue()) |
| | Optionally insert a new edge.
|
| |
| EdgeIterator | eraseEdge (const EdgeIterator &edge) |
| | Erases an edge.
|
| |
| EdgeIterator | eraseEdge (const ConstEdgeIterator &edge) |
| | Erases an edge.
|
| |
| void | eraseEdges (const VertexIterator &source, const VertexIterator &target) |
| | Erases all edges connecting two vertices.
|
| |
| void | eraseEdges (const ConstVertexIterator &source, const ConstVertexIterator &target) |
| | Erases all edges connecting two vertices.
|
| |
| VertexIterator | eraseVertex (const VertexIterator &vertex) |
| | Erases a vertex and its incident edges.
|
| |
| VertexIterator | eraseVertex (const ConstVertexIterator &vertex) |
| | Erases a vertex and its incident edges.
|
| |
| void | clearEdges (const VertexIterator &vertex) |
| | Erase all edges incident to a vertex.
|
| |
| void | clearEdges (const ConstVertexIterator &vertex) |
| | Erase all edges incident to a vertex.
|
| |
| void | clearOutEdges (const VertexIterator &vertex) |
| | Erase all edges emanating from a vertex.
|
| |
| void | clearOutEdges (const ConstVertexIterator &vertex) |
| | Erase all edges emanating from a vertex.
|
| |
| void | clearInEdges (const VertexIterator &vertex) |
| | Erase all edges targeting a vertex.
|
| |
| void | clearInEdges (const ConstVertexIterator &vertex) |
| | Erase all edges targeting a vertex.
|
| |
|
virtual const NodeInfo & | dereferenceNode (const Sawyer::Container::Graph< NodeInfo, EdgeInfo >::ConstVertexIterator &p) const=0 |
| |
|
virtual const EdgeInfo & | dereferenceEdge (const Sawyer::Container::Graph< NodeInfo, EdgeInfo >::ConstEdgeIterator &p) const=0 |
| |
|
virtual NodeIterator | edgeSource (const EdgeIterator &p) const =0 |
| |
|
virtual NodeIterator | edgeTarget (const EdgeIterator &p) const =0 |
| |
| virtual EdgeCollection | getEdgesFrom (const NodeIterator &, EdgePredicate=noFilter< EdgeIterator >()) const |
| |
| virtual EdgeCollection | getEdgesTo (const NodeIterator &, EdgePredicate=noFilter< EdgeIterator >()) const |
| |
| virtual enum MutationSupportOption | allowMutationDuringTraversal () const |
| |
| virtual TraversalSupportOption | getTraversalSupport () const |
| |
|
virtual EdgeIterator | addEdge (const NodeIterator &p1, const NodeIterator &p2, const EdgeInfo &t)=0 |
| |