Skip to content

Commit 6c25843

Browse files
authored
Revert "[ADT] Use adl_* wrappers across STLExtras (#87936)"
This reverts commit 9e418c9.
1 parent cf6feff commit 6c25843

File tree

1 file changed

+25
-24
lines changed

1 file changed

+25
-24
lines changed

llvm/include/llvm/ADT/STLExtras.h

Lines changed: 25 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -320,8 +320,7 @@ template <typename T> class Callable<T, true> {
320320

321321
/// Returns true if the given container only contains a single element.
322322
template <typename ContainerTy> bool hasSingleElement(ContainerTy &&C) {
323-
auto B = adl_begin(C);
324-
auto E = adl_end(C);
323+
auto B = std::begin(C), E = std::end(C);
325324
return B != E && std::next(B) == E;
326325
}
327326

@@ -376,7 +375,8 @@ inline mapped_iterator<ItTy, FuncTy> map_iterator(ItTy I, FuncTy F) {
376375

377376
template <class ContainerTy, class FuncTy>
378377
auto map_range(ContainerTy &&C, FuncTy F) {
379-
return make_range(map_iterator(adl_begin(C), F), map_iterator(adl_end(C), F));
378+
return make_range(map_iterator(std::begin(C), F),
379+
map_iterator(std::end(C), F));
380380
}
381381

382382
/// A base type of mapped iterator, that is useful for building derived
@@ -572,11 +572,11 @@ iterator_range<filter_iterator<detail::IterOfRange<RangeT>, PredicateT>>
572572
make_filter_range(RangeT &&Range, PredicateT Pred) {
573573
using FilterIteratorT =
574574
filter_iterator<detail::IterOfRange<RangeT>, PredicateT>;
575-
return make_range(FilterIteratorT(adl_begin(std::forward<RangeT>(Range)),
576-
adl_end(std::forward<RangeT>(Range)), Pred),
577-
FilterIteratorT(adl_end(std::forward<RangeT>(Range)),
578-
adl_end(std::forward<RangeT>(Range)),
579-
Pred));
575+
return make_range(
576+
FilterIteratorT(std::begin(std::forward<RangeT>(Range)),
577+
std::end(std::forward<RangeT>(Range)), Pred),
578+
FilterIteratorT(std::end(std::forward<RangeT>(Range)),
579+
std::end(std::forward<RangeT>(Range)), Pred));
580580
}
581581

582582
/// A pseudo-iterator adaptor that is designed to implement "early increment"
@@ -656,8 +656,8 @@ iterator_range<early_inc_iterator_impl<detail::IterOfRange<RangeT>>>
656656
make_early_inc_range(RangeT &&Range) {
657657
using EarlyIncIteratorT =
658658
early_inc_iterator_impl<detail::IterOfRange<RangeT>>;
659-
return make_range(EarlyIncIteratorT(adl_begin(std::forward<RangeT>(Range))),
660-
EarlyIncIteratorT(adl_end(std::forward<RangeT>(Range))));
659+
return make_range(EarlyIncIteratorT(std::begin(std::forward<RangeT>(Range))),
660+
EarlyIncIteratorT(std::end(std::forward<RangeT>(Range))));
661661
}
662662

663663
// Forward declarations required by zip_shortest/zip_equal/zip_first/zip_longest
@@ -1097,8 +1097,8 @@ class concat_iterator
10971097
/// We need the full range to know how to switch between each of the
10981098
/// iterators.
10991099
template <typename... RangeTs>
1100-
explicit concat_iterator(RangeTs &&...Ranges)
1101-
: Begins(adl_begin(Ranges)...), Ends(adl_end(Ranges)...) {}
1100+
explicit concat_iterator(RangeTs &&... Ranges)
1101+
: Begins(std::begin(Ranges)...), Ends(std::end(Ranges)...) {}
11021102

11031103
using BaseT::operator++;
11041104

@@ -1127,25 +1127,26 @@ template <typename ValueT, typename... RangeTs> class concat_range {
11271127
public:
11281128
using iterator =
11291129
concat_iterator<ValueT,
1130-
decltype(adl_begin(std::declval<RangeTs &>()))...>;
1130+
decltype(std::begin(std::declval<RangeTs &>()))...>;
11311131

11321132
private:
11331133
std::tuple<RangeTs...> Ranges;
11341134

1135-
template <size_t... Ns> iterator begin_impl(std::index_sequence<Ns...>) {
1135+
template <size_t... Ns>
1136+
iterator begin_impl(std::index_sequence<Ns...>) {
11361137
return iterator(std::get<Ns>(Ranges)...);
11371138
}
11381139
template <size_t... Ns>
11391140
iterator begin_impl(std::index_sequence<Ns...>) const {
11401141
return iterator(std::get<Ns>(Ranges)...);
11411142
}
11421143
template <size_t... Ns> iterator end_impl(std::index_sequence<Ns...>) {
1143-
return iterator(make_range(adl_end(std::get<Ns>(Ranges)),
1144-
adl_end(std::get<Ns>(Ranges)))...);
1144+
return iterator(make_range(std::end(std::get<Ns>(Ranges)),
1145+
std::end(std::get<Ns>(Ranges)))...);
11451146
}
11461147
template <size_t... Ns> iterator end_impl(std::index_sequence<Ns...>) const {
1147-
return iterator(make_range(adl_end(std::get<Ns>(Ranges)),
1148-
adl_end(std::get<Ns>(Ranges)))...);
1148+
return iterator(make_range(std::end(std::get<Ns>(Ranges)),
1149+
std::end(std::get<Ns>(Ranges)))...);
11491150
}
11501151

11511152
public:
@@ -1419,7 +1420,7 @@ template <typename EltTy, typename FirstTy> class first_or_second_type {
14191420

14201421
/// Given a container of pairs, return a range over the first elements.
14211422
template <typename ContainerTy> auto make_first_range(ContainerTy &&c) {
1422-
using EltTy = decltype((*adl_begin(c)));
1423+
using EltTy = decltype((*std::begin(c)));
14231424
return llvm::map_range(std::forward<ContainerTy>(c),
14241425
[](EltTy elt) -> typename detail::first_or_second_type<
14251426
EltTy, decltype((elt.first))>::type {
@@ -1429,7 +1430,7 @@ template <typename ContainerTy> auto make_first_range(ContainerTy &&c) {
14291430

14301431
/// Given a container of pairs, return a range over the second elements.
14311432
template <typename ContainerTy> auto make_second_range(ContainerTy &&c) {
1432-
using EltTy = decltype((*adl_begin(c)));
1433+
using EltTy = decltype((*std::begin(c)));
14331434
return llvm::map_range(
14341435
std::forward<ContainerTy>(c),
14351436
[](EltTy elt) ->
@@ -2105,7 +2106,7 @@ template<typename Container, typename Range = std::initializer_list<
21052106
typename Container::value_type>>
21062107
void replace(Container &Cont, typename Container::iterator ContIt,
21072108
typename Container::iterator ContEnd, Range R) {
2108-
replace(Cont, ContIt, ContEnd, adl_begin(R), adl_begin(R));
2109+
replace(Cont, ContIt, ContEnd, R.begin(), R.end());
21092110
}
21102111

21112112
/// An STL-style algorithm similar to std::for_each that applies a second
@@ -2518,19 +2519,19 @@ bool hasNItemsOrLess(
25182519

25192520
/// Returns true if the given container has exactly N items
25202521
template <typename ContainerTy> bool hasNItems(ContainerTy &&C, unsigned N) {
2521-
return hasNItems(adl_begin(C), adl_end(C), N);
2522+
return hasNItems(std::begin(C), std::end(C), N);
25222523
}
25232524

25242525
/// Returns true if the given container has N or more items
25252526
template <typename ContainerTy>
25262527
bool hasNItemsOrMore(ContainerTy &&C, unsigned N) {
2527-
return hasNItemsOrMore(adl_begin(C), adl_end(C), N);
2528+
return hasNItemsOrMore(std::begin(C), std::end(C), N);
25282529
}
25292530

25302531
/// Returns true if the given container has N or less items
25312532
template <typename ContainerTy>
25322533
bool hasNItemsOrLess(ContainerTy &&C, unsigned N) {
2533-
return hasNItemsOrLess(adl_begin(C), adl_end(C), N);
2534+
return hasNItemsOrLess(std::begin(C), std::end(C), N);
25342535
}
25352536

25362537
/// Returns a raw pointer that represents the same address as the argument.

0 commit comments

Comments
 (0)