25 #ifndef INCLUDED_DOTGraphOutput_h_GUID_3A3C0484_26CE_4E9F_BE40_93CE7454D34B
26 #define INCLUDED_DOTGraphOutput_h_GUID_3A3C0484_26CE_4E9F_BE40_93CE7454D34B
35 #include <unordered_map>
36 #include <unordered_set>
45 virtual std::string
const &getID()
const {
return m_id; }
48 std::string
const m_id;
56 std::string
const &fullPath,
57 std::string
const &type);
60 std::string
const &type,
61 std::string
const &data = std::string());
63 std::string
const &attributes = std::string());
67 void m_outputNode(std::string
const &label, std::string
const &
id,
68 std::string
const &type);
69 void m_outputLineWithId(std::string
const &
id, std::string
const &line);
70 DOTNode &m_addNode(std::string
const &fullPath);
71 DOTNode &m_getNode(std::string
const &fullPath);
73 std::string m_getNextID();
75 std::unordered_set<std::string> m_referencedIds;
76 std::vector<std::pair<std::string, std::string> > m_idAndOutput;
79 std::unordered_map<std::string, osvr::unique_ptr<DOTNode> > m_nodes;
81 std::unordered_map<std::string, std::string> m_nodePathsByID;
85 #endif // INCLUDED_DOTGraphOutput_h_GUID_3A3C0484_26CE_4E9F_BE40_93CE7454D34B
typename detail::split_list_< List...>::head head
Get the first element of a list.
typename detail::split_list_< List...>::tail tail
Get the list without its first element.
virtual void addEdge(NodeInterface &tail, NodeInterface &head, std::string const &type, std::string const &data=std::string())
virtual ~DOTGraphOutput()
virtual void enableTreeOrganization()
Sets a flag indicating that we should try to organize nodes in the path tree structure.