ROSE 0.11.145.339
Public Types | Public Member Functions | List of all members
Rose::BinaryAnalysis::DataDependence::Graph Class Reference

Description

Definition at line 62 of file DataDependence.h.

Inheritance diagram for Rose::BinaryAnalysis::DataDependence::Graph:
Inheritance graph
[legend]
Collaboration diagram for Rose::BinaryAnalysis::DataDependence::Graph:
Collaboration graph
[legend]

Public Types

using Subgraphs = std::map< Address, std::vector< Graph::ConstEdgeIterator > >
 
- Public Types inherited from Sawyer::Container::Graph< Vertex, Edge, VertexKey >
typedef Vertex VertexValue
 User-level data associated with vertices.
 
typedef Edge EdgeValue
 User-level data associated with edges.
 
typedef VertexKey VertexKey
 Type for looking up a vertex.
 
typedef GraphEdgeNoKey< EdgeEdgeKey
 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))
 

Public Member Functions

 Graph (const Graph &)
 
Graphoperator= (const Graph &)
 
 Graph (const Partitioner2::PartitionerConstPtr &)
 
bool edgeExists (VertexIterator, VertexIterator, SgAsmInstruction *) const
 
void toGraphviz (std::ostream &) const
 
ConstVertexIterator emptySource () const
 
ConstVertexIterator emptyTarget () const
 
Architecture::BaseConstPtr architecture () const
 
- Public Member Functions inherited from Sawyer::Container::Graph< Vertex, Edge, VertexKey >
 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.
 
Graphoperator= (const Graph &other)
 Assignment.
 
Graphoperator= (const Graph< V2, E2, VKey2, EKey2, Alloc2 > &other)
 Assignment.
 
const Allocatorallocator ()
 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.
 

Member Typedef Documentation

◆ Subgraphs

using Rose::BinaryAnalysis::DataDependence::Graph::Subgraphs = std::map<Address, std::vector<Graph::ConstEdgeIterator> >

Definition at line 66 of file DataDependence.h.


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