|
Jlm
|
#include <GraphWriter.hpp>


Classes | |
| struct | Shape |
Public Member Functions | |
| ~Node () override=default | |
| const char * | GetIdPrefix () const override |
| Node & | GetNode () override |
| Graph & | GetGraph () override |
| virtual void | SetShape (std::string shape) |
| void | SetFillColor (std::string color) override |
| void | OutputDotPortId (std::ostream &out) const override |
| virtual void | OutputSubgraphs (std::ostream &out, OutputFormat format, size_t indent) const |
| virtual void | OutputASCII (std::ostream &out, size_t indent) const |
| virtual void | OutputDot (std::ostream &out, size_t indent) const |
| virtual void | outputJson (std::ostream &out, size_t indent) const |
Public Member Functions inherited from jlm::util::graph::Port | |
| ~Port () override=default | |
| Graph & | GetGraph () override |
| virtual bool | CanBeEdgeHead () const |
| virtual bool | CanBeEdgeTail () const |
| const std::vector< Edge * > & | GetConnections () const |
| bool | HasOutgoingEdges () const |
| bool | HasIncomingEdges () const |
| void | OutputIncomingEdgesASCII (std::ostream &out) const |
Public Member Functions inherited from jlm::util::graph::GraphElement | |
| virtual | ~GraphElement ()=default |
| GraphElement () | |
| GraphElement (const GraphElement &other)=delete | |
| GraphElement (GraphElement &&other)=delete | |
| GraphElement & | operator= (const GraphElement &other)=delete |
| GraphElement & | operator= (GraphElement &&other)=delete |
| void | PrintFullId (std::ostream &out) const |
| std::string | GetFullId () const |
| const Graph & | GetGraph () const |
| void | SetLabel (std::string label) |
| void | AppendToLabel (std::string_view text, std::string_view sep="\n") |
| bool | HasLabel () const |
| const std::string & | GetLabel () const |
| std::string_view | GetLabelOr (std::string_view otherwise) const |
| size_t | GetUniqueIdSuffix () const |
| template<typename T > | |
| void | SetProgramObject (const T &object) |
| void | RemoveProgramObject () |
| bool | HasProgramObject () const noexcept |
| uintptr_t | GetProgramObject () const noexcept |
| void | SetAttribute (const std::string &attribute, std::string value) |
| void | SetAttributeObject (const std::string &attribute, uintptr_t object) |
| template<typename T > | |
| void | SetAttributeObject (const std::string &attribute, const T &object) |
| void | SetAttributeGraphElement (const std::string &attribute, const GraphElement &element) |
| bool | HasAttribute (const std::string &attribute) const |
| std::optional< std::string_view > | GetAttributeString (const std::string &attribute) const |
| std::optional< uintptr_t > | GetAttributeObject (const std::string &attribute) const |
| const GraphElement * | GetAttributeGraphElement (const std::string &attribute) const |
| bool | RemoveAttribute (const std::string &attribute) |
| virtual void | Finalize () |
| bool | IsFinalized () const |
| void | OutputAttributes (std::ostream &out, AttributeOutputFormat format) const |
| void | outputJsonObjectOpening (std::ostream &out, size_t indent, bool &firstField) const |
Protected Member Functions | |
| Node (Graph &graph) | |
Protected Member Functions inherited from jlm::util::graph::Port | |
| Port () | |
Private Attributes | |
| friend | Graph |
| Graph & | Graph_ |
Abstract base class for all nodes in the GraphWriter. A Node is also a port, since edges can be attached to nodes directly.
Definition at line 398 of file GraphWriter.hpp.
|
explicitprotected |
Definition at line 663 of file GraphWriter.cpp.
|
overridedefault |
|
overridevirtual |
Implements jlm::util::graph::GraphElement.
Definition at line 681 of file GraphWriter.cpp.
|
overridevirtual |
Gets a short string that will serve as the base for a unique ID. This base should be a valid C-like identifier.
Implements jlm::util::graph::GraphElement.
Reimplemented in jlm::util::graph::ResultNode.
Definition at line 669 of file GraphWriter.cpp.
|
overridevirtual |
Implements jlm::util::graph::Port.
Definition at line 675 of file GraphWriter.cpp.
|
virtual |
Outputs the node in ASCII format to the ostream out, indented by indent levels. In this format, attributes are ignored, and edges are only included implicitly, by listing the origins of all edges pointing into this node.
Reimplemented in jlm::util::graph::InOutNode, jlm::util::graph::ArgumentNode, and jlm::util::graph::ResultNode.
Definition at line 706 of file GraphWriter.cpp.
|
virtual |
Outputs the node in Dot format to the ostream out, indented by indent levels. This format includes all attributes.
Reimplemented in jlm::util::graph::InOutNode.
Definition at line 723 of file GraphWriter.cpp.
|
overridevirtual |
Outputs the fully qualified port name, such as node8:i6:n Used by the Dot and Json outputs when defining edges.
Implements jlm::util::graph::Port.
Definition at line 700 of file GraphWriter.cpp.
|
virtual |
Outputs the node in JSON format to the ostream out, indented by indent levels. This format includes all attributes.
Reimplemented in jlm::util::graph::InOutNode.
Definition at line 741 of file GraphWriter.cpp.
|
virtual |
Prints all sub graphs of the node, to the given ostream out, in the given format. All lines printed by this function are indented by at least indent levels. This function is recursive, as sub graphs may have nodes with sub graphs of their own.
Reimplemented in jlm::util::graph::InOutNode.
Definition at line 749 of file GraphWriter.cpp.
|
overridevirtual |
Helper function for setting the background color of the Port using the correct dot attributes.
| color | an X11 color name or an RGB value in hex, prefixed by '#' |
Implements jlm::util::graph::Port.
Definition at line 693 of file GraphWriter.cpp.
|
virtual |
Sets the shape to be used when rendering the node
Reimplemented in jlm::util::graph::InOutNode.
Definition at line 687 of file GraphWriter.cpp.
|
private |
Definition at line 400 of file GraphWriter.hpp.
|
private |
Definition at line 480 of file GraphWriter.hpp.