GCC Middle and Back End API Reference
dot Namespace Reference

Data Structures

struct  ast_node
struct  attr_list
struct  attr_stmt
struct  edge_stmt
struct  graph
struct  id
struct  kv_pair
struct  kv_stmt
struct  node_id
struct  node_stmt
struct  port
struct  stmt
struct  stmt_list
struct  stmt_with_attr_list
struct  subgraph
class  writer

Enumerations

enum class  compass_pt {
  n , ne , e , se ,
  s , sw , w , nw ,
  c
}

Functions

static std::unique_ptr< std::string > make_svg_document_buffer_from_graph (const graph &g)
std::unique_ptr< xml::nodemake_svg_from_graph (const graph &g)

Enumeration Type Documentation

◆ compass_pt

enum class dot::compass_pt
strong
node_id : ID [ port ]  
Enumerator
ne 
se 
sw 
nw 

Function Documentation

◆ make_svg_document_buffer_from_graph()

std::unique_ptr< std::string > dot::make_svg_document_buffer_from_graph ( const graph & g)
static
Convert G to graphviz source, attempt to invoke "dot -Tsvg" on it
as a subprocess, and get the SVG source from stdout, or nullptr
if there was a problem.   

References g, gcc_assert, pex::input_file(), pp_flush(), file_wrapper::read_all(), pex::read_output(), pex::run(), pretty_printer::set_output_stream(), and w.

Referenced by make_svg_from_graph().

◆ make_svg_from_graph()

std::unique_ptr< xml::node > dot::make_svg_from_graph ( const graph & g)
Convert G to graphviz source, attempt to invoke "dot -Tsvg" on it
as a subprocess, and get the SVG source from stdout, and extract
the "svg" subtree as an xml::raw node.

Note that this
(a) invokes "dot" as a subprocess
(b) assumes that we trust the output from "dot".

Return nullptr if there was a problem.   

References g, and make_svg_document_buffer_from_graph().

Referenced by diagnostics::html_builder::add_graph(), and diagnostics::html_builder::maybe_make_state_diagram().