ETISS 0.8.0
Extendable Translating Instruction Set Simulator (version 0.8.0)
Classes | Public Member Functions | Private Attributes | List of all members
etiss::interfaces::Dot Class Reference

#include <Dot.h>

Collaboration diagram for etiss::interfaces::Dot:
Collaboration graph
[legend]

Classes

class  AttrList
 
class  Graph
 
class  Link
 
class  Node
 

Public Member Functions

 ~Dot ()
 
const std::list< Graph * > graphs ()
 
GraphcreateG (std::string name="")
 
GraphcreateG (Graph *parent, std::string name="")
 
NodecreateN (Graph *, const std::string &id, std::string name="")
 
NodepcreateN (Graph *g, const void *id, std::string name="")
 
LinkcreateE (Node *src, Node *dst, std::string name="")
 
Nodefind (const std::string &id)
 
NodelopenN (const std::list< std::string > &labelpath)
 travel/creates sub graphs with the given labels until i find/creates a node for the lase label. More...
 
virtual void print (std::ostream &out)
 

Private Attributes

std::list< Graph * > graphs_
 
std::unordered_map< std::string, Node * > idmap_
 

Detailed Description

Attention
if an id is a pointer then the pointer must remain valid during the use of that id. otherwise anything may be chosen as an id that doesn't start with "p_"

Definition at line 95 of file Dot.h.

Constructor & Destructor Documentation

◆ ~Dot()

etiss::interfaces::Dot::~Dot ( )

Definition at line 991 of file Dot.cpp.

Member Function Documentation

◆ createE()

Dot::Link * etiss::interfaces::Dot::createE ( Dot::Node src,
Dot::Node dst,
std::string  name = "" 
)

Definition at line 1024 of file Dot.cpp.

References etiss::interfaces::Dot::AttrList::label_.

◆ createG() [1/2]

Dot::Graph * etiss::interfaces::Dot::createG ( Dot::Graph parent,
std::string  name = "" 
)

Definition at line 1006 of file Dot.cpp.

References etiss::interfaces::Dot::AttrList::label_.

◆ createG() [2/2]

Dot::Graph * etiss::interfaces::Dot::createG ( std::string  name = "")

Definition at line 999 of file Dot.cpp.

References etiss::interfaces::Dot::AttrList::label_.

◆ createN()

Dot::Node * etiss::interfaces::Dot::createN ( Dot::Graph parent,
const std::string &  id,
std::string  name = "" 
)

Definition at line 1014 of file Dot.cpp.

References etiss::interfaces::Dot::AttrList::label_.

Referenced by pcreateN().

Here is the caller graph for this function:

◆ find()

Dot::Node * etiss::interfaces::Dot::find ( const std::string &  id)

Definition at line 1033 of file Dot.cpp.

◆ graphs()

const std::list<Graph *> etiss::interfaces::Dot::graphs ( )
inline

Definition at line 223 of file Dot.h.

References graphs_.

◆ lopenN()

Dot::Node * etiss::interfaces::Dot::lopenN ( const std::list< std::string > &  labelpath)

travel/creates sub graphs with the given labels until i find/creates a node for the lase label.

ids will be auto created if neccessary

Attention
if labels are not unique then the selected graphs/nodes are undefined

Definition at line 1041 of file Dot.cpp.

References etiss::interfaces::Dot::Graph::asGraph(), and etiss::interfaces::Dot::Graph::nodes().

Here is the call graph for this function:

◆ pcreateN()

Node* etiss::interfaces::Dot::pcreateN ( Graph g,
const void *  id,
std::string  name = "" 
)
inline

Definition at line 228 of file Dot.h.

References createN(), and etiss::toString().

Here is the call graph for this function:

◆ print()

void etiss::interfaces::Dot::print ( std::ostream &  out)
virtual

Definition at line 978 of file Dot.cpp.

References etiss::ERROR, and etiss_log.

Member Data Documentation

◆ graphs_

std::list<Graph *> etiss::interfaces::Dot::graphs_
private

Definition at line 218 of file Dot.h.

Referenced by graphs(), and etiss::interfaces::Dot::Graph::~Graph().

◆ idmap_

std::unordered_map<std::string, Node *> etiss::interfaces::Dot::idmap_
private

Definition at line 219 of file Dot.h.

Referenced by etiss::interfaces::Dot::Node::~Node().


The documentation for this class was generated from the following files: