From ed550043dcc5cdf4ddc08aa0fcc09e425b311922 Mon Sep 17 00:00:00 2001 From: ROUVREAU Vincent Date: Mon, 25 May 2020 19:10:03 +0200 Subject: Code review: filtered_edge_collapse is not requiring an output_iterator but a callback/functor --- .../include/gudhi/Flag_complex_sparse_matrix.h | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) (limited to 'src/Collapse/include') diff --git a/src/Collapse/include/gudhi/Flag_complex_sparse_matrix.h b/src/Collapse/include/gudhi/Flag_complex_sparse_matrix.h index e91bcc28..44db25b3 100644 --- a/src/Collapse/include/gudhi/Flag_complex_sparse_matrix.h +++ b/src/Collapse/include/gudhi/Flag_complex_sparse_matrix.h @@ -172,8 +172,8 @@ class Flag_complex_sparse_matrix { } // Detect and set all indices that are becoming critical - template - void set_edge_critical(Row_index indx, Filtration_value filt, FilteredEdgeInsertion filtered_edge_insert) { + template + void set_edge_critical(Row_index indx, Filtration_value filt, FilteredEdgeOutput filtered_edge_output) { #ifdef DEBUG_TRACES std::cout << "The curent index with filtration value " << indx << ", " << filt << " is primary critical" << std::endl; @@ -193,7 +193,7 @@ class Flag_complex_sparse_matrix { std::cout << "The curent index became critical " << idx << std::endl; #endif // DEBUG_TRACES critical_edge_indicator_[idx] = true; - filtered_edge_insert({u, v}, filt); + filtered_edge_output({u, v}, filt); std::set inner_effected_indcs = three_clique_indices(idx); for (auto inr_idx = inner_effected_indcs.rbegin(); inr_idx != inner_effected_indcs.rend(); inr_idx++) { if (*inr_idx < idx) effected_indices.emplace(*inr_idx); @@ -336,11 +336,11 @@ class Flag_complex_sparse_matrix { /** \brief Performs edge collapse in a increasing sequence of the filtration value. * - * \tparam FilteredEdgeInsertion is an output iterator that furnishes - * `({Vertex_handle u, Vertex_handle v}, Filtration_value f)` that will fill the user defined data structure. + * \tparam FilteredEdgeOutput is a functor that furnishes `({Vertex_handle u, Vertex_handle v}, Filtration_value f)` + * that will get called on the output edges, in non-decreasing order of filtration. */ - template - void filtered_edge_collapse(FilteredEdgeInsertion filtered_edge_insert) { + template + void filtered_edge_collapse(FilteredEdgeOutput filtered_edge_output) { Row_index endIdx = 0; u_set_removed_edges_.clear(); @@ -374,9 +374,9 @@ class Flag_complex_sparse_matrix { if (!edge_is_dominated(edge)) { critical_edge_indicator_[endIdx] = true; - filtered_edge_insert({u, v}, filt); + filtered_edge_output({u, v}, filt); if (endIdx > 1) - set_edge_critical(endIdx, filt, filtered_edge_insert); + set_edge_critical(endIdx, filt, filtered_edge_output); } endIdx++; } -- cgit v1.2.3