Skip to content

Commit f6c6b6a

Browse files
author
Cameron Custer
committed
revert subrange-returning ranges algos (unique/remove_if/partition) to iterator form; drop cppcheck suppression
1 parent 9522030 commit f6c6b6a

5 files changed

Lines changed: 9 additions & 12 deletions

File tree

library/data_structures_[l,r)/uncommon/priority_queue_of_updates.hpp

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,10 +38,9 @@ template<class DS, class... ARGS> struct pq_updates {
3838
extra.push_back(upd_st[idx_sk]);
3939
idx = min(idx, idx_sk), lowest_pri = pri;
4040
}
41-
auto it = begin(ranges::remove_if(
42-
upd_st | views::drop(idx), [&](auto& cur) {
43-
return cur.second->first >= lowest_pri;
44-
}));
41+
auto it = remove_if(idx + all(upd_st), [&](auto& cur) {
42+
return cur.second->first >= lowest_pri;
43+
});
4544
ranges::reverse_copy(extra, it);
4645
rep(i, idx, sz(upd_st)) ds.undo();
4746
upd_st.pop_back();

library/graphs/strongly_connected_components/offline_incremental_scc.hpp

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,10 +33,9 @@ vi offline_incremental_scc(vector<array<int, 2>> eds,
3333
}
3434
rep(i, 0, sz(g)) ids[vs[i]] = -1;
3535
scc_id = scc(g).second;
36-
auto split = begin(ranges::partition(
37-
ranges::subrange(el, er), [&](int i) {
38-
return scc_id[eds[i][0]] == scc_id[eds[i][1]];
39-
}));
36+
auto split = partition(el, er, [&](int i) {
37+
return scc_id[eds[i][0]] == scc_id[eds[i][1]];
38+
});
4039
for (auto it = el; it != split; it++) joins[*it] = mid;
4140
if (tr - tl == 1) return;
4241
for (auto it = split; it != er; it++) {

library/trees/edge_cd.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,10 +28,10 @@ template<class G> void edge_cd(vector<G>& g, auto f) {
2828
if (m < 2) return;
2929
u = ctd(ctd, u, u, m);
3030
int sum = 0;
31-
auto it = begin(ranges::partition(g[u], [&](int v) {
31+
auto it = partition(all(g[u]), [&](int v) {
3232
ll x = sum + s[v];
3333
return x * x < m * (m - x) ? sum = x : 0;
34-
}));
34+
});
3535
f(u, it - begin(g[u]));
3636
G oth(it, end(g[u]));
3737
g[u].erase(it, end(g[u]));

library/trees/extra_members/virtual_tree.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ array<vi, 2> compress_tree(vi subset) {
1616
rep(i, 1, len)
1717
subset.push_back(lca(subset[i - 1], subset[i]));
1818
ranges::sort(subset, {}, proj);
19-
subset.erase(begin(ranges::unique(subset)), end(subset));
19+
subset.erase(unique(all(subset)), end(subset));
2020
return {
2121
mono_st(subset,
2222
[&](int u, int v) { return in_subtree(u, v); }),

tests/.config/.cppcheck_suppression_list

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,5 @@ unusedFunction:../kactl/content/data-structures/UnionFind.h:14
6060
unusedFunction:../kactl/content/number-theory/ModPow.h:13
6161
unusedFunction:../kactl/stress-tests/utilities/genTree.h:49
6262
containerOutOfBounds:../library/data_structures_[l,r)/uncommon/permutation_tree.hpp:85
63-
mismatchingContainerExpression:../library/trees/extra_members/virtual_tree.hpp:19
6463
ctuOneDefinitionRuleViolation:../library/data_structures_[l,r)/bit.hpp:15
6564
ctuOneDefinitionRuleViolation:../library/data_structures_[l,r)/lazy_seg_tree.hpp:4

0 commit comments

Comments
 (0)