ROSE 0.11.145.192
Classes | Typedefs | Functions | Variables
Rose::BinaryAnalysis::Partitioner2::GraphViz Namespace Reference

Description

Support for generating and reading GraphViz output.

Classes

class  BaseEmitter
 Base class for generating GraphViz output. More...
 
class  CfgEmitter
 Creates GraphViz files from Partitioner data. More...
 
class  CgEmitter
 Emits a function call graph. More...
 
class  CgInlinedEmitter
 Emits a modified function call graph. More...
 
struct  Coordinate
 Two dimensional display plane coordinate. More...
 
struct  EdgePosition
 Position of an edge. More...
 
class  Organization
 Organizational information. More...
 
struct  VertexPosition
 Position of a vertex. More...
 

Typedefs

typedef Sawyer::Container::Map< std::string, std::string > Attributes
 GraphViz attributes.
 
typedef Sawyer::Container::Graph< VertexPosition, EdgePositionPositionGraph
 A graph with positioned vertices and edges.
 

Functions

ROSE_DLL_API std::string toString (const Attributes &)
 Convert attributes to GraphViz language string.
 
ROSE_DLL_API std::string quotedEscape (const std::string &)
 Escape characters that need to be escaped within GraphViz double quoted literals.
 
ROSE_DLL_API std::string htmlEscape (const std::string &)
 Escape characters that need to be escaped within GraphViz HTML literals.
 
ROSE_DLL_API std::string escape (const std::string &)
 Escape some value for GraphViz.
 
ROSE_DLL_API std::string concatenate (const std::string &oldStuff, const std::string &newStuff, const std::string &separator="")
 Append a value to an existing string.
 
ROSE_DLL_API bool isId (const std::string &s)
 Determins if a string is a valid GraphViz ID.
 
PositionGraph readPositions (std::istream &)
 Constructs graph positions from a file.
 

Variables

ROSE_DLL_API const size_t NO_ID
 An invalid identification number.
 

Typedef Documentation

◆ Attributes

GraphViz attributes.

Attributes are name/value pairs where the valid names are defined in the GraphViz language.

Definition at line 26 of file GraphViz.h.

◆ PositionGraph

A graph with positioned vertices and edges.

Definition at line 862 of file GraphViz.h.

Function Documentation

◆ escape()

ROSE_DLL_API std::string Rose::BinaryAnalysis::Partitioner2::GraphViz::escape ( const std::string &  )

Escape some value for GraphViz.

The returned string will include double quote or angle-brackets as necessary depending on the input string.

Referenced by Rose::BinaryAnalysis::Partitioner2::GraphViz::BaseEmitter< G >::emit().

◆ concatenate()

ROSE_DLL_API std::string Rose::BinaryAnalysis::Partitioner2::GraphViz::concatenate ( const std::string &  oldStuff,
const std::string &  newStuff,
const std::string &  separator = "" 
)

Append a value to an existing string.

Appends newStuff to the end of oldStuff taking into account that oldStuff is already quoted and escaped. The newStuff should not be quoted or escaped. This is useful for appending additional information to a label. The separator is escaped and inserted between the oldStuff and newStuff if oldStuff is not empty. Returns a new string that is also quoted and escaped.

◆ isId()

ROSE_DLL_API bool Rose::BinaryAnalysis::Partitioner2::GraphViz::isId ( const std::string &  s)

Determins if a string is a valid GraphViz ID.

True if s forms a valid GraphViz ID. ID strings do not need special quoting in the GraphViz language.

◆ readPositions()

PositionGraph Rose::BinaryAnalysis::Partitioner2::GraphViz::readPositions ( std::istream &  )

Constructs graph positions from a file.

The input must have the same syntax as the output from the GraphViz "dot -Tplain" command.