LLVM API Documentation

Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

llvm::DefaultDOTGraphTraits Struct Reference

#include <DOTGraphTraits.h>

Inheritance diagram for llvm::DefaultDOTGraphTraits:

Inheritance graph
[legend]
List of all members.

Static Public Member Functions

static std::string getGraphName (const void *Graph)
static std::string getGraphProperties (const void *Graph)
static std::string getNodeLabel (const void *Node, const void *Graph)
static std::string getNodeAttributes (const void *Node)
template<typename EdgeIter>
static std::string getEdgeAttributes (const void *Node, EdgeIter EI)
template<typename EdgeIter>
static std::string getEdgeSourceLabel (const void *Node, EdgeIter I)
template<typename EdgeIter>
static bool edgeTargetsEdgeSource (const void *Node, EdgeIter I)
template<typename EdgeIter>
static EdgeIter getEdgeTarget (const void *Node, EdgeIter I)
template<typename GraphWriter>
static void addCustomGraphFeatures (const void *Graph, GraphWriter &GW)

Detailed Description

DefaultDOTGraphTraits - This class provides the default implementations of all of the DOTGraphTraits methods. If a specialization does not need to override all methods here it should inherit so that it can get the default implementations.

Definition at line 29 of file DOTGraphTraits.h.


Member Function Documentation

template<typename GraphWriter>
static void llvm::DefaultDOTGraphTraits::addCustomGraphFeatures const void *  Graph,
GraphWriter GW
[inline, static]
 

addCustomGraphFeatures - If a graph is made up of more than just straight-forward nodes and edges, this is the place to put all of the custom stuff necessary. The GraphWriter object, instantiated with your GraphType is passed in as an argument. You may call arbitrary methods on it to add things to the output graph.

Definition at line 89 of file DOTGraphTraits.h.

template<typename EdgeIter>
static bool llvm::DefaultDOTGraphTraits::edgeTargetsEdgeSource const void *  Node,
EdgeIter  I
[inline, static]
 

edgeTargetsEdgeSource - This method returns true if this outgoing edge should actually target another edge source, not a node. If this method is implemented, getEdgeTarget should be implemented.

Definition at line 70 of file DOTGraphTraits.h.

Referenced by llvm::GraphWriter< GraphType >::writeEdge().

template<typename EdgeIter>
static std::string llvm::DefaultDOTGraphTraits::getEdgeAttributes const void *  Node,
EdgeIter  EI
[inline, static]
 

If you want to override the dot attributes printed for a particular edge, override this method.

Definition at line 55 of file DOTGraphTraits.h.

Referenced by llvm::GraphWriter< GraphType >::writeEdge().

template<typename EdgeIter>
static std::string llvm::DefaultDOTGraphTraits::getEdgeSourceLabel const void *  Node,
EdgeIter  I
[inline, static]
 

getEdgeSourceLabel - If you want to label the edge source itself, implement this method.

Definition at line 62 of file DOTGraphTraits.h.

Referenced by llvm::GraphWriter< GraphType >::writeNode().

template<typename EdgeIter>
static EdgeIter llvm::DefaultDOTGraphTraits::getEdgeTarget const void *  Node,
EdgeIter  I
[inline, static]
 

getEdgeTarget - If edgeTargetsEdgeSource returns true, this method is called to determine which outgoing edge of Node is the target of this edge.

Definition at line 78 of file DOTGraphTraits.h.

Referenced by llvm::GraphWriter< GraphType >::writeEdge().

static std::string llvm::DefaultDOTGraphTraits::getGraphName const void *  Graph  )  [inline, static]
 

getGraphName - Return the label for the graph as a whole. Printed at the top of the graph.

Definition at line 33 of file DOTGraphTraits.h.

Referenced by llvm::GraphWriter< GraphType >::writeHeader().

static std::string llvm::DefaultDOTGraphTraits::getGraphProperties const void *  Graph  )  [inline, static]
 

getGraphProperties - Return any custom properties that should be included in the top level graph structure for dot.

Definition at line 38 of file DOTGraphTraits.h.

Referenced by llvm::GraphWriter< GraphType >::writeHeader().

static std::string llvm::DefaultDOTGraphTraits::getNodeAttributes const void *  Node  )  [inline, static]
 

If you want to specify custom node attributes, this is the place to do so

Definition at line 50 of file DOTGraphTraits.h.

Referenced by llvm::GraphWriter< GraphType >::writeNode().

static std::string llvm::DefaultDOTGraphTraits::getNodeLabel const void *  Node,
const void *  Graph
[inline, static]
 

getNodeLabel - Given a node and a pointer to the top level graph, return the label to print in the node.

Definition at line 44 of file DOTGraphTraits.h.

Referenced by llvm::GraphWriter< GraphType >::writeNode().


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