Skip to content

Commit 9dc608d

Browse files
Remove mst function overloads for atomize prep
1 parent 7db5901 commit 9dc608d

File tree

1 file changed

+5
-20
lines changed

1 file changed

+5
-20
lines changed

cpl/inc/tree.h

Lines changed: 5 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -261,8 +261,8 @@ class EdgeGreater : private EdgeComparatorBase {
261261
using is_transparent = int;
262262
};
263263

264-
template <class InIt, class OutIt, class Pred>
265-
OutIt kruskal(const std::size_t n, InIt first, InIt last, OutIt dest, Pred pred) {
264+
template <class InIt, class OutIt, class Pred = EdgeLess>
265+
OutIt kruskal(const std::size_t n, InIt first, InIt last, OutIt dest, Pred pred = Pred{}) {
266266
DisjointSet<std::size_t> ds(n);
267267
std::sort(first, last, pred);
268268
std::size_t edge_count = 0;
@@ -283,12 +283,7 @@ OutIt kruskal(const std::size_t n, InIt first, InIt last, OutIt dest, Pred pred)
283283
}
284284

285285
template <class InIt, class OutIt>
286-
OutIt kruskal(const std::size_t n, InIt first, InIt last, OutIt dest) {
287-
return kruskal(n, first, last, dest, EdgeLess{});
288-
}
289-
290-
template <class InIt, class OutIt>
291-
OutIt dijkstra(const std::size_t n, InIt first, InIt last, OutIt dest, const std::size_t start) {
286+
OutIt dijkstra(const std::size_t n, InIt first, InIt last, OutIt dest, const std::size_t start = 0) {
292287
std::vector<bool> visited(n, false);
293288
std::vector<std::size_t> distances(n, std::numeric_limits<std::size_t>::max());
294289
distances[start] = 0;
@@ -320,13 +315,8 @@ OutIt dijkstra(const std::size_t n, InIt first, InIt last, OutIt dest, const std
320315
return dest;
321316
}
322317

323-
template <class InIt, class OutIt>
324-
OutIt dijkstra(const std::size_t n, InIt first, InIt last, OutIt dest) {
325-
return dijkstra(n, first, last, dest, 0);
326-
}
327-
328-
template <class InIt, class OutIt, class Pr1, class Pr2>
329-
OutIt boruvka(const std::size_t n, InIt first, InIt last, OutIt dest, Pr1 preferred, Pr2 tie_break) {
318+
template <class InIt, class OutIt, class Pr1 = EdgeLess, class Pr2 = EdgeLess>
319+
OutIt boruvka(const std::size_t n, InIt first, InIt last, OutIt dest, Pr1 preferred = Pr1{}, Pr2 tie_break = Pr2{}) {
330320
DisjointSet<std::size_t> ds(n);
331321
std::vector<std::size_t> cheapest(n, std::numeric_limits<std::size_t>::max());
332322
std::vector<std::size_t> cheapest_edge(n, std::numeric_limits<std::size_t>::max());
@@ -365,11 +355,6 @@ OutIt boruvka(const std::size_t n, InIt first, InIt last, OutIt dest, Pr1 prefer
365355
return dest;
366356
}
367357

368-
template <class InIt, class OutIt>
369-
OutIt boruvka(const std::size_t n, InIt first, InIt last, OutIt dest) {
370-
return boruvka(n, first, last, dest, EdgeLess{}, EdgeLess{});
371-
}
372-
373358
CPL_END
374359

375360
#endif // TREE_H_

0 commit comments

Comments
 (0)