Loading...
Searching...
No Matches
Cost_policy.h
1/* This file is part of the Gudhi Library - https://gudhi.inria.fr/ - which is released under MIT.
2 * See file LICENSE or go to https://gudhi.inria.fr/licensing/ for full license details.
3 * Author(s): David Salinas
4 *
5 * Copyright (C) 2014 Inria
6 *
7 * Modification(s):
8 * - YYYY/MM Author: Description of the modification
9 */
10
11#ifndef CONTRACTION_POLICIES_COST_POLICY_H_
12#define CONTRACTION_POLICIES_COST_POLICY_H_
13
14#include <boost/optional.hpp>
15
16namespace Gudhi {
17
18namespace contraction {
19
24template< typename EdgeProfile>
26 public:
27 typedef typename EdgeProfile::Point Point;
28 typedef typename EdgeProfile::Graph_vertex Graph_vertex;
29
30 typedef boost::optional<double> Cost_type;
31
32 virtual Cost_type operator()(const EdgeProfile& profile, const boost::optional<Point>& placement) const = 0;
33
34 virtual ~Cost_policy() { }
35};
36
37} // namespace contraction
38
39} // namespace Gudhi
40
41#endif // CONTRACTION_POLICIES_COST_POLICY_H_
Policy to specify the cost of contracting an edge.
Definition: Cost_policy.h:25