@@ -320,8 +320,7 @@ template <typename T> class Callable<T, true> {
320
320
321
321
// / Returns true if the given container only contains a single element.
322
322
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);
325
324
return B != E && std::next (B) == E;
326
325
}
327
326
@@ -376,7 +375,8 @@ inline mapped_iterator<ItTy, FuncTy> map_iterator(ItTy I, FuncTy F) {
376
375
377
376
template <class ContainerTy , class FuncTy >
378
377
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));
380
380
}
381
381
382
382
// / A base type of mapped iterator, that is useful for building derived
@@ -572,11 +572,11 @@ iterator_range<filter_iterator<detail::IterOfRange<RangeT>, PredicateT>>
572
572
make_filter_range (RangeT &&Range, PredicateT Pred) {
573
573
using FilterIteratorT =
574
574
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));
580
580
}
581
581
582
582
// / A pseudo-iterator adaptor that is designed to implement "early increment"
@@ -656,8 +656,8 @@ iterator_range<early_inc_iterator_impl<detail::IterOfRange<RangeT>>>
656
656
make_early_inc_range (RangeT &&Range) {
657
657
using EarlyIncIteratorT =
658
658
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))));
661
661
}
662
662
663
663
// Forward declarations required by zip_shortest/zip_equal/zip_first/zip_longest
@@ -1097,8 +1097,8 @@ class concat_iterator
1097
1097
// / We need the full range to know how to switch between each of the
1098
1098
// / iterators.
1099
1099
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)...) {}
1102
1102
1103
1103
using BaseT::operator ++;
1104
1104
@@ -1127,25 +1127,26 @@ template <typename ValueT, typename... RangeTs> class concat_range {
1127
1127
public:
1128
1128
using iterator =
1129
1129
concat_iterator<ValueT,
1130
- decltype (adl_begin (std::declval<RangeTs &>()))...>;
1130
+ decltype (std::begin (std::declval<RangeTs &>()))...>;
1131
1131
1132
1132
private:
1133
1133
std::tuple<RangeTs...> Ranges;
1134
1134
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...>) {
1136
1137
return iterator (std::get<Ns>(Ranges)...);
1137
1138
}
1138
1139
template <size_t ... Ns>
1139
1140
iterator begin_impl (std::index_sequence<Ns...>) const {
1140
1141
return iterator (std::get<Ns>(Ranges)...);
1141
1142
}
1142
1143
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)))...);
1145
1146
}
1146
1147
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)))...);
1149
1150
}
1150
1151
1151
1152
public:
@@ -1419,7 +1420,7 @@ template <typename EltTy, typename FirstTy> class first_or_second_type {
1419
1420
1420
1421
// / Given a container of pairs, return a range over the first elements.
1421
1422
template <typename ContainerTy> auto make_first_range (ContainerTy &&c) {
1422
- using EltTy = decltype ((*adl_begin (c)));
1423
+ using EltTy = decltype ((*std::begin (c)));
1423
1424
return llvm::map_range (std::forward<ContainerTy>(c),
1424
1425
[](EltTy elt) -> typename detail::first_or_second_type<
1425
1426
EltTy, decltype ((elt.first ))>::type {
@@ -1429,7 +1430,7 @@ template <typename ContainerTy> auto make_first_range(ContainerTy &&c) {
1429
1430
1430
1431
// / Given a container of pairs, return a range over the second elements.
1431
1432
template <typename ContainerTy> auto make_second_range (ContainerTy &&c) {
1432
- using EltTy = decltype ((*adl_begin (c)));
1433
+ using EltTy = decltype ((*std::begin (c)));
1433
1434
return llvm::map_range (
1434
1435
std::forward<ContainerTy>(c),
1435
1436
[](EltTy elt) ->
@@ -2105,7 +2106,7 @@ template<typename Container, typename Range = std::initializer_list<
2105
2106
typename Container::value_type>>
2106
2107
void replace (Container &Cont, typename Container::iterator ContIt,
2107
2108
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 ( ));
2109
2110
}
2110
2111
2111
2112
// / An STL-style algorithm similar to std::for_each that applies a second
@@ -2518,19 +2519,19 @@ bool hasNItemsOrLess(
2518
2519
2519
2520
// / Returns true if the given container has exactly N items
2520
2521
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);
2522
2523
}
2523
2524
2524
2525
// / Returns true if the given container has N or more items
2525
2526
template <typename ContainerTy>
2526
2527
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);
2528
2529
}
2529
2530
2530
2531
// / Returns true if the given container has N or less items
2531
2532
template <typename ContainerTy>
2532
2533
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);
2534
2535
}
2535
2536
2536
2537
// / Returns a raw pointer that represents the same address as the argument.
0 commit comments