ROSE 0.11.145.192
|
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, EdgePosition > | PositionGraph |
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 Sawyer::Container::Map<std::string, std::string> Rose::BinaryAnalysis::Partitioner2::GraphViz::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.
typedef Sawyer::Container::Graph<VertexPosition, EdgePosition> Rose::BinaryAnalysis::Partitioner2::GraphViz::PositionGraph |
A graph with positioned vertices and edges.
Definition at line 862 of file GraphViz.h.
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().
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.
ROSE_DLL_API bool Rose::BinaryAnalysis::Partitioner2::GraphViz::isId | ( | const std::string & | s | ) |
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.