27 #ifndef SRC_METHODS_BRANCH_COMPACT_HPP_ 28 #define SRC_METHODS_BRANCH_COMPACT_HPP_ 44 template<
class UserNodeLabel,
class UserEdgeLabel>
55 enum SortMethod_ {STD, COUNTING};
57 class SortedUserEdgeLabels_ {
59 SortedUserEdgeLabels_(
const GEDGraph & g, SortMethod_ sort_method);
64 std::map<GEDGraph::NodeID, std::vector<LabelID>> sorted_edge_labels_;
69 Branch_(
LabelID node_label,
const std::vector<LabelID> & sorted_edge_labels);
71 Branch_(
const Branch_ & branch);
75 std::vector<LabelID> sorted_edge_labels;
77 int compare(
const Branch_ & rhs)
const;
79 bool operator<(
const Branch_ & rhs)
const;
81 bool operator>(
const Branch_ & rhs)
const;
83 bool operator==(
const Branch_ & rhs)
const;
86 SortMethod_ sort_method_;
88 std::map<GEDGraph::GraphID, std::list<Branch_>> branches_;
96 virtual bool ged_parse_option_(
const std::string & option,
const std::string & arg)
final;
104 void init_graph_(
const GEDGraph & graph);
Contains the standardized input data along with basic functionality.
A wrapper structure for the result of calls to ged::GEDMethod::run_as_util() and ged::GEDMethod::ged_...
Abstract class for the (suboptimal) computation of the graph edit distance.
std::size_t LabelID
Internally used type of node and edge labels.
virtual bool ged_parse_option_(const std::string &option, const std::string &arg) final
Parses one option.
virtual void ged_set_default_options_() final
Sets all options to default values.
virtual void ged_run_(const GEDGraph &g, const GEDGraph &h, Result &result) final
Runs the method with options specified by set_options().
The normalized input graphs used by GEDLIB. All labels are integers.
Global namespace for GEDLIB.
virtual std::string ged_valid_options_string_() const final
Returns string of all valid options.
virtual void ged_init_() final
Initializes the method.
Computes a lower bound for uniform edit costs.
std::size_t NodeID
Internally used vertex ID type.