GEDLIB  1.0
edit_costs.ipp
Go to the documentation of this file.
1 /***************************************************************************
2 * *
3 * Copyright (C) 2018 by David B. Blumenthal *
4 * *
5 * This file is part of GEDLIB. *
6 * *
7 * GEDLIB is free software: you can redistribute it and/or modify it *
8 * under the terms of the GNU Lesser General Public License as published *
9 * by the Free Software Foundation, either version 3 of the License, or *
10 * (at your option) any later version. *
11 * *
12 * GEDLIB is distributed in the hope that it will be useful, *
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
15 * GNU Lesser General Public License for more details. *
16 * *
17 * You should have received a copy of the GNU Lesser General Public *
18 * License along with GEDLIB. If not, see <http://www.gnu.org/licenses/>. *
19 * *
20 ***************************************************************************/
21 
27 #ifndef SRC_EDIT_COSTS_EDIT_COSTS_IPP_
28 #define SRC_EDIT_COSTS_EDIT_COSTS_IPP_
29 
30 namespace ged {
31 
32 template<class UserNodeLabel, class UserEdgeLabel>
35 
36 template<class UserNodeLabel, class UserEdgeLabel>
39 
40 template<class UserNodeLabel, class UserEdgeLabel>
41 double
43 node_del_cost_fun(const UserNodeLabel & node_label) const {
44  return 0.0;
45 }
46 
47 template<class UserNodeLabel, class UserEdgeLabel>
48 double
50 node_ins_cost_fun(const UserNodeLabel & node_label) const {
51  return 0.0;
52 }
53 
54 template<class UserNodeLabel, class UserEdgeLabel>
55 double
57 node_rel_cost_fun(const UserNodeLabel & node_label_1, const UserNodeLabel & node_label_2) const {
58  return 0.0;
59 }
60 
61 template<class UserNodeLabel, class UserEdgeLabel>
62 void
64 vectorize_node_label(const UserNodeLabel & node_label, std::vector<double> & vector_representation) const {
65  vector_representation.clear();
66 }
67 
68 template<class UserNodeLabel, class UserEdgeLabel>
69 double
71 edge_rel_cost_fun(const UserEdgeLabel & node_label_1, const UserEdgeLabel & node_label_2) const {
72  return 0.0;
73 }
74 
75 template<class UserNodeLabel, class UserEdgeLabel>
76 double
78 edge_del_cost_fun(const UserEdgeLabel & node_label) const {
79  return 0.0;
80 }
81 
82 template<class UserNodeLabel, class UserEdgeLabel>
83 double
85 edge_ins_cost_fun(const UserEdgeLabel & node_label) const {
86  return 0.0;
87 }
88 
89 template<class UserNodeLabel, class UserEdgeLabel>
90 void
92 vectorize_edge_label(const UserEdgeLabel & edge_label, std::vector<double> & vector_representation) const {
93  vector_representation.clear();
94 }
95 
96 }
97 
98 #endif /* SRC_EDIT_COSTS_EDIT_COSTS_IPP_ */
virtual void vectorize_node_label(const UserNodeLabel &node_label, std::vector< double > &vector_representation) const
Computes a node label&#39;s representation as a real-valued vector.
Definition: edit_costs.ipp:64
virtual double edge_del_cost_fun(const UserEdgeLabel &edge_label) const
Edge deletion cost function.
Definition: edit_costs.ipp:78
EditCosts()
Constructor.
Definition: edit_costs.ipp:38
virtual double edge_rel_cost_fun(const UserEdgeLabel &edge_label_1, const UserEdgeLabel &edge_label_2) const
Edge relabeling cost function.
Definition: edit_costs.ipp:71
virtual ~EditCosts()=0
Virtual destructor.
Definition: edit_costs.ipp:34
virtual double node_ins_cost_fun(const UserNodeLabel &node_label) const
Node insertions cost function.
Definition: edit_costs.ipp:50
virtual void vectorize_edge_label(const UserEdgeLabel &edge_label, std::vector< double > &vector_representation) const
Computes an edge label&#39;s representation as a real-valued vector.
Definition: edit_costs.ipp:92
virtual double node_del_cost_fun(const UserNodeLabel &node_label) const
Node deletion cost function.
Definition: edit_costs.ipp:43
Global namespace for GEDLIB.
virtual double node_rel_cost_fun(const UserNodeLabel &node_label_1, const UserNodeLabel &node_label_2) const
Node relabeling cost function.
Definition: edit_costs.ipp:57
virtual double edge_ins_cost_fun(const UserEdgeLabel &edge_label) const
Edge insertion cost function.
Definition: edit_costs.ipp:85