summaryrefslogtreecommitdiff
path: root/src/Contraction/include/gudhi/Contraction/policies/Cost_policy.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/Contraction/include/gudhi/Contraction/policies/Cost_policy.h')
-rw-r--r--src/Contraction/include/gudhi/Contraction/policies/Cost_policy.h32
1 files changed, 32 insertions, 0 deletions
diff --git a/src/Contraction/include/gudhi/Contraction/policies/Cost_policy.h b/src/Contraction/include/gudhi/Contraction/policies/Cost_policy.h
new file mode 100644
index 00000000..e183a74d
--- /dev/null
+++ b/src/Contraction/include/gudhi/Contraction/policies/Cost_policy.h
@@ -0,0 +1,32 @@
+/*
+ * Cost_policy.h
+ *
+ * Created on: Feb 13, 2014
+ * Author: dsalinas
+ */
+
+#ifndef GUDHI_COST_POLICY_H_
+#define GUDHI_COST_POLICY_H_
+
+#include <boost/optional.hpp>
+
+namespace Gudhi{
+
+namespace contraction {
+
+template< typename EdgeProfile> class Cost_policy{
+public:
+ typedef typename EdgeProfile::Point Point;
+ typedef typename EdgeProfile::Graph_vertex Graph_vertex;
+
+ typedef boost::optional<double> Cost_type;
+
+ virtual Cost_type operator()(const EdgeProfile& profile, const boost::optional<Point>& placement) const =0;
+ virtual ~Cost_policy(){
+ };
+};
+
+} // namespace contraction
+
+} // namespace GUDHI
+#endif /* GUDHI_COST_POLICY_H_ */