Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

Cycle.h
Go to the documentation of this file.
1 
32 #pragma once
33 
34 #include <ogdf/basic/Graph.h>
35 
36 #include <tuple>
37 #include <unordered_set>
38 #include <vector>
39 
40 namespace ogdf {
41 namespace matching_blossom {
42 
44 private:
45  std::unordered_set<node> m_nodes;
46 
47  std::vector<edge> m_edgeOrder;
48 
51  std::vector<long> indexOf(std::vector<node> nodesToFind);
52 
53 public:
54  Cycle(edge startEdge);
55 
56  /* Getters */
57 
58  const std::vector<edge>& edgeOrder();
59 
60  const std::unordered_set<node>& nodes();
61 
62  /* End of getters */
63 
65  void addEdge(edge e);
66 
68  node startNode();
69 
72  std::tuple<long, long> indexOf(node u, node v);
73 
76  long indexOf(node u);
77 
79  bool contains(node v);
80 };
81 
82 }
83 }
ogdf::matching_blossom::Cycle::m_edgeOrder
std::vector< edge > m_edgeOrder
Definition: Cycle.h:47
ogdf
The namespace for all OGDF objects.
Definition: AugmentationModule.h:36
Graph.h
Includes declaration of graph class.
ogdf::matching_blossom::Cycle
Definition: Cycle.h:43
OGDF_EXPORT
#define OGDF_EXPORT
Specifies that a function or class is exported by the OGDF DLL.
Definition: config.h:101
ogdf::matching_blossom::Cycle::m_nodes
std::unordered_set< node > m_nodes
Definition: Cycle.h:45
ogdf::EdgeElement
Class for the representation of edges.
Definition: Graph_d.h:356
ogdf::NodeElement
Class for the representation of nodes.
Definition: Graph_d.h:233