CRTP base that emits a Graphviz DOT representation of a graph.

Synopsis

Declared in <llvm/Support/GraphWriter.h>

template<
    typename GraphType,
    typename Derived>
class GraphWriterBase;

Member Functions

Name

Description

GraphWriterBase [constructor]

Construct a graph writer for g that writes to o.

~GraphWriterBase [destructor] [virtual]

Destroy the graph writer.

emitEdge

Output an edge from a simple node into the graph.

emitSimpleNode

Output a simple (non‐record) node.

getOStream

Get the raw output stream into the graph file.

isNodeHidden

Return true if Node should be omitted from the DOT output.

writeEdge

Write the DOT edge from Node along child iterator EI.

writeFooter

Write the closing brace that ends the DOT digraph.

writeGraph

Write the complete DOT graph, including header, nodes, and footer.

writeHeader

Write the opening DOT digraph header and graph properties.

writeNode

Write the DOT record for Node and its outgoing edges.

writeNodes

Write every non‐hidden node in the graph.

Protected Type Aliases

Name

Description

DOTTraits

DOT customization traits for GraphType.

GTraits

Graph traversal traits for GraphType.

NodeRef

Reference type for a node in the graph.

child_iterator

Iterator over children of a node.

node_iterator

Iterator over all nodes in the graph.

Protected Member Functions

Name

Description

getDerived

Cast this to the derived writer type.

getEdgeSourceLabels

Write edge source labels for Node to O.

Protected Data Members

Name

Description

DTraits

Instance of the DOT traits used while writing.

G

Graph being written.

O

Stream that receives the emitted DOT text.

RenderUsingHTML

Whether nodes are emitted with HTML‐like labels.

Derived Classes

Name

Description

GraphWriter

Default DOT graph writer for a graph type.

Template Parameters

Name

Description

GraphType

Graph type modeled by GraphTraits.

Derived

Concrete writer type that customizes emission hooks.

Created with MrDocs