struct DefaultDOTGraphTraits

Declaration

struct DefaultDOTGraphTraits { /* full declaration omitted */ };

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.

Declared at: llvm/include/llvm/Support/DOTGraphTraits.h:28

Method Overview

Methods

DefaultDOTGraphTraits(bool simple = false)

Declared at: llvm/include/llvm/Support/DOTGraphTraits.h:38

Parameters

bool simple = false

template <typename GraphType,
          typename GraphWriter>
static void addCustomGraphFeatures(
    const GraphType&,
    GraphWriter&)

Description

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.

Declared at: llvm/include/llvm/Support/DOTGraphTraits.h:151

Templates

GraphType
GraphWriter

Parameters

const GraphType&
GraphWriter&

template <typename EdgeIter>
static bool edgeTargetsEdgeSource(const void*,
                                  EdgeIter)

Description

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.

Declared at: llvm/include/llvm/Support/DOTGraphTraits.h:114

Templates

EdgeIter

Parameters

const void*
EdgeIter

template <typename EdgeIter, typename GraphType>
static std::string getEdgeAttributes(
    const void*,
    EdgeIter,
    const GraphType&)

Description

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

Declared at: llvm/include/llvm/Support/DOTGraphTraits.h:98

Templates

EdgeIter
GraphType

Parameters

const void*
EdgeIter
const GraphType&

static std::string getEdgeDestLabel(const void*,
                                    unsigned int)

Description

getEdgeDestLabel - If hasEdgeDestLabels, this function returns the incoming edge label with the given index in the given node.

Declared at: llvm/include/llvm/Support/DOTGraphTraits.h:140

Parameters

const void*
unsigned int

template <typename EdgeIter>
static std::string getEdgeSourceLabel(const void*,
                                      EdgeIter)

Description

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

Declared at: llvm/include/llvm/Support/DOTGraphTraits.h:106

Templates

EdgeIter

Parameters

const void*
EdgeIter

template <typename EdgeIter>
static EdgeIter getEdgeTarget(const void*,
                              EdgeIter I)

Description

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

Declared at: llvm/include/llvm/Support/DOTGraphTraits.h:122

Templates

EdgeIter

Parameters

const void*
EdgeIter I

template <typename GraphType>
static std::string getGraphName(const GraphType&)

Description

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

Declared at: llvm/include/llvm/Support/DOTGraphTraits.h:44

Templates

GraphType

Parameters

const GraphType&

template <typename GraphType>
static std::string getGraphProperties(
    const GraphType&)

Description

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

Declared at: llvm/include/llvm/Support/DOTGraphTraits.h:50

Templates

GraphType

Parameters

const GraphType&

template <typename GraphType>
static std::string getNodeAttributes(
    const void*,
    const GraphType&)

Description

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

Declared at: llvm/include/llvm/Support/DOTGraphTraits.h:90

Templates

GraphType

Parameters

const void*
const GraphType&

template <typename GraphType>
static std::string getNodeDescription(
    const void*,
    const GraphType&)

Declared at: llvm/include/llvm/Support/DOTGraphTraits.h:83

Templates

GraphType

Parameters

const void*
const GraphType&

template <typename GraphType>
static std::string getNodeIdentifierLabel(
    const void*,
    const GraphType&)

Declared at: llvm/include/llvm/Support/DOTGraphTraits.h:78

Templates

GraphType

Parameters

const void*
const GraphType&

template <typename GraphType>
std::string getNodeLabel(const void*,
                         const GraphType&)

Description

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

Declared at: llvm/include/llvm/Support/DOTGraphTraits.h:70

Templates

GraphType

Parameters

const void*
const GraphType&

static bool hasEdgeDestLabels()

Description

hasEdgeDestLabels - If this function returns true, the graph is able to provide labels for edge destinations.

Declared at: llvm/include/llvm/Support/DOTGraphTraits.h:128

static bool isNodeHidden(const void*)

Description

isNodeHidden - If the function returns true, the given node is not displayed in the graph.

Declared at: llvm/include/llvm/Support/DOTGraphTraits.h:63

Parameters

const void*

bool isSimple()

Declared at: llvm/include/llvm/Support/DOTGraphTraits.h:33

static unsigned int numEdgeDestLabels(const void*)

Description

numEdgeDestLabels - If hasEdgeDestLabels, this function returns the number of incoming edge labels the given node has.

Declared at: llvm/include/llvm/Support/DOTGraphTraits.h:134

Parameters

const void*

static bool renderGraphFromBottomUp()

Description

renderGraphFromBottomUp - If this function returns true, the graph is emitted bottom-up instead of top-down. This requires graphviz 2.0 to work though.

Declared at: llvm/include/llvm/Support/DOTGraphTraits.h:57