Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

Loading...
Searching...
No Matches
Save.h
Go to the documentation of this file.
1
32#pragma once
33
34#include <ogdf/basic/Graph.h>
35
36namespace ogdf::steiner_tree {
37template<typename T>
38class Triple;
39} // namespace ogdf::steiner_tree
40
41namespace ogdf {
42namespace steiner_tree {
43
44template<typename T>
45
50class Save {
51public:
52 Save() { }
53
54 virtual ~Save() { }
55
63 virtual T gain(node u, node v, node w) const = 0;
64
71 virtual T saveWeight(node u, node v) const = 0;
72
79 virtual edge saveEdge(node u, node v) const = 0;
80
85 virtual void update(const Triple<T>& t) = 0;
86};
87
88}
89}
Includes declaration of graph class.
Class for the representation of edges.
Definition Graph_d.h:364
Class for the representation of nodes.
Definition Graph_d.h:241
This class serves as an interface for different approaches concerning the calculation of save edges.
Definition Save.h:50
virtual T gain(node u, node v, node w) const =0
Returns the gain (sum of the save edges) of a node triple.
virtual void update(const Triple< T > &t)=0
Updates the weighted tree data structure given a contracted triple.
virtual edge saveEdge(node u, node v) const =0
Returns the save edge between two nodes.
virtual T saveWeight(node u, node v) const =0
Returns the weight of the save edge between two nodes.
This class represents a triple used by various contraction-based minimum Steiner tree approximations.
Definition Triple.h:44
The namespace for all OGDF objects.