diff options
author | ROUVREAU Vincent <vincent.rouvreau@inria.fr> | 2020-05-25 19:10:03 +0200 |
---|---|---|
committer | ROUVREAU Vincent <vincent.rouvreau@inria.fr> | 2020-05-25 19:10:03 +0200 |
commit | ed550043dcc5cdf4ddc08aa0fcc09e425b311922 (patch) | |
tree | b9130807266f7cd3a699972e406aa7ce81ab2a61 /src/Collapse/include/gudhi | |
parent | ac8f1911f157b801abe21aa9bf8f143a1fddcc65 (diff) |
Code review: filtered_edge_collapse is not requiring an output_iterator but a callback/functor
Diffstat (limited to 'src/Collapse/include/gudhi')
-rw-r--r-- | src/Collapse/include/gudhi/Flag_complex_sparse_matrix.h | 18 |
1 files changed, 9 insertions, 9 deletions
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<typename FilteredEdgeInsertion> - void set_edge_critical(Row_index indx, Filtration_value filt, FilteredEdgeInsertion filtered_edge_insert) { + template<typename FilteredEdgeOutput> + 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<Row_index> 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<typename FilteredEdgeInsertion> - void filtered_edge_collapse(FilteredEdgeInsertion filtered_edge_insert) { + template<typename FilteredEdgeOutput> + 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++; } |