@@ -320,8 +320,7 @@ template <typename T> class Callable<T, true> {
320320
321321// / Returns true if the given container only contains a single element.
322322template <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
377376template <class ContainerTy , class FuncTy >
378377auto 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>>
572572make_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>>>
656656make_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 {
11271127public:
11281128 using iterator =
11291129 concat_iterator<ValueT,
1130- decltype (adl_begin (std::declval<RangeTs &>()))...>;
1130+ decltype (std::begin (std::declval<RangeTs &>()))...>;
11311131
11321132private:
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
11511152public:
@@ -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.
14211422template <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.
14311432template <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>>
21062107void 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
25202521template <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
25252526template <typename ContainerTy>
25262527bool 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
25312532template <typename ContainerTy>
25322533bool 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