llvm::GraphWriterBase

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

NameDescription
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

NameDescription
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

NameDescription
getDerived Cast this to the derived writer type.
getEdgeSourceLabels Write edge source labels for Node to O.

Protected Data Members

NameDescription
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

NameDescription
GraphWriter Default DOT graph writer for a graph type.

Template Parameters

NameDescription
GraphTypeGraph type modeled by GraphTraits.
DerivedConcrete writer type that customizes emission hooks.