|
Jlm
|
#include <GraphWriter.hpp>


Public Member Functions | |
| ~Port () override=default | |
| virtual Node & | GetNode ()=0 |
| Graph & | GetGraph () override |
| virtual bool | CanBeEdgeHead () const |
| virtual bool | CanBeEdgeTail () const |
| const std::vector< Edge * > & | GetConnections () const |
| bool | HasOutgoingEdges () const |
| bool | HasIncomingEdges () const |
| virtual void | SetFillColor (std::string color)=0 |
| virtual void | OutputDotPortId (std::ostream &out) const =0 |
| 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 |
| virtual const char * | GetIdPrefix () const =0 |
| 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 |
Protected Member Functions | |
| Port () | |
Private Member Functions | |
| void | OnEdgeAdded (Edge &edge) |
Private Attributes | |
| friend | Edge |
| std::vector< Edge * > | Connections_ |
Abstract class representing a part of a node that edges can be attached to
Definition at line 276 of file GraphWriter.hpp.
|
protected |
Definition at line 403 of file GraphWriter.cpp.
|
overridedefault |
|
virtual |
Reimplemented in jlm::util::graph::ArgumentNode, and jlm::util::graph::OutputPort.
Definition at line 414 of file GraphWriter.cpp.
|
virtual |
Reimplemented in jlm::util::graph::ResultNode, and jlm::util::graph::InputPort.
Definition at line 420 of file GraphWriter.cpp.
| const std::vector< Edge * > & jlm::util::graph::Port::GetConnections | ( | ) | const |
Definition at line 426 of file GraphWriter.cpp.
|
overridevirtual |
Gets a reference to the graph this GraphElement belongs to
Implements jlm::util::graph::GraphElement.
Reimplemented in jlm::util::graph::Node.
Definition at line 408 of file GraphWriter.cpp.
|
pure virtual |
Implemented in jlm::util::graph::OutputPort, jlm::util::graph::InputPort, and jlm::util::graph::Node.
| bool jlm::util::graph::Port::HasIncomingEdges | ( | ) | const |
Definition at line 456 of file GraphWriter.cpp.
| bool jlm::util::graph::Port::HasOutgoingEdges | ( | ) | const |
Definition at line 445 of file GraphWriter.cpp.
|
private |
Called when an edge has been added to the graph, to inform the edge's ports
| edge | the newly added edge |
Definition at line 432 of file GraphWriter.cpp.
|
pure virtual |
Outputs the fully qualified port name, such as node8:i6:n Only used by the Dot printer.
Implemented in jlm::util::graph::OutputPort, jlm::util::graph::InputPort, and jlm::util::graph::Node.
| void jlm::util::graph::Port::OutputIncomingEdgesASCII | ( | std::ostream & | out | ) | const |
Outputs the origin(s) of edges pointing to this port. Brackets are omitted when exactly one edge points to the port. Only used by the ASCII printer. Example outputs: "o4", "[]" and "[o2, o6]"
Definition at line 467 of file GraphWriter.cpp.
|
pure virtual |
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 '#' |
Implemented in jlm::util::graph::InOutNode, jlm::util::graph::OutputPort, jlm::util::graph::InputPort, and jlm::util::graph::Node.
|
private |
Definition at line 354 of file GraphWriter.hpp.
|
private |
Definition at line 278 of file GraphWriter.hpp.