tmp/tmprzl8548b/{from.md → to.md}
RENAMED
|
@@ -32,13 +32,13 @@ namespace std {
|
|
| 32 |
public:
|
| 33 |
using iterator_type = I;
|
| 34 |
using value_type = iter_value_t<I>; // present only
|
| 35 |
// if I models indirectly_readable
|
| 36 |
using difference_type = iter_difference_t<I>;
|
| 37 |
-
using iterator_concept =
|
| 38 |
// if the qualified-id I::iterator_concept is valid and denotes a type
|
| 39 |
-
using iterator_category =
|
| 40 |
// if the qualified-id I::iterator_category is valid and denotes a type
|
| 41 |
constexpr counted_iterator() requires default_initializable<I> = default;
|
| 42 |
constexpr counted_iterator(I x, iter_difference_t<I> n);
|
| 43 |
template<class I2>
|
| 44 |
requires convertible_to<const I2&, I>
|
|
@@ -79,30 +79,30 @@ namespace std {
|
|
| 79 |
requires random_access_iterator<I>;
|
| 80 |
template<common_with<I> I2>
|
| 81 |
friend constexpr iter_difference_t<I2> operator-(
|
| 82 |
const counted_iterator& x, const counted_iterator<I2>& y);
|
| 83 |
friend constexpr iter_difference_t<I> operator-(
|
| 84 |
-
const counted_iterator& x, default_sentinel_t);
|
| 85 |
friend constexpr iter_difference_t<I> operator-(
|
| 86 |
-
default_sentinel_t, const counted_iterator& y);
|
| 87 |
constexpr counted_iterator& operator-=(iter_difference_t<I> n)
|
| 88 |
requires random_access_iterator<I>;
|
| 89 |
|
| 90 |
constexpr decltype(auto) operator[](iter_difference_t<I> n) const
|
| 91 |
requires random_access_iterator<I>;
|
| 92 |
|
| 93 |
template<common_with<I> I2>
|
| 94 |
friend constexpr bool operator==(
|
| 95 |
const counted_iterator& x, const counted_iterator<I2>& y);
|
| 96 |
friend constexpr bool operator==(
|
| 97 |
-
const counted_iterator& x, default_sentinel_t);
|
| 98 |
|
| 99 |
template<common_with<I> I2>
|
| 100 |
friend constexpr strong_ordering operator<=>(
|
| 101 |
const counted_iterator& x, const counted_iterator<I2>& y);
|
| 102 |
|
| 103 |
-
friend constexpr
|
| 104 |
noexcept(noexcept(ranges::iter_move(i.current)))
|
| 105 |
requires input_iterator<I>;
|
| 106 |
template<indirectly_swappable<I> I2>
|
| 107 |
friend constexpr void iter_swap(const counted_iterator& x, const counted_iterator<I2>& y)
|
| 108 |
noexcept(noexcept(ranges::iter_swap(x.current, y.current)));
|
|
|
|
| 32 |
public:
|
| 33 |
using iterator_type = I;
|
| 34 |
using value_type = iter_value_t<I>; // present only
|
| 35 |
// if I models indirectly_readable
|
| 36 |
using difference_type = iter_difference_t<I>;
|
| 37 |
+
using iterator_concept = I::iterator_concept; // present only
|
| 38 |
// if the qualified-id I::iterator_concept is valid and denotes a type
|
| 39 |
+
using iterator_category = I::iterator_category; // present only
|
| 40 |
// if the qualified-id I::iterator_category is valid and denotes a type
|
| 41 |
constexpr counted_iterator() requires default_initializable<I> = default;
|
| 42 |
constexpr counted_iterator(I x, iter_difference_t<I> n);
|
| 43 |
template<class I2>
|
| 44 |
requires convertible_to<const I2&, I>
|
|
|
|
| 79 |
requires random_access_iterator<I>;
|
| 80 |
template<common_with<I> I2>
|
| 81 |
friend constexpr iter_difference_t<I2> operator-(
|
| 82 |
const counted_iterator& x, const counted_iterator<I2>& y);
|
| 83 |
friend constexpr iter_difference_t<I> operator-(
|
| 84 |
+
const counted_iterator& x, default_sentinel_t) noexcept;
|
| 85 |
friend constexpr iter_difference_t<I> operator-(
|
| 86 |
+
default_sentinel_t, const counted_iterator& y) noexcept;
|
| 87 |
constexpr counted_iterator& operator-=(iter_difference_t<I> n)
|
| 88 |
requires random_access_iterator<I>;
|
| 89 |
|
| 90 |
constexpr decltype(auto) operator[](iter_difference_t<I> n) const
|
| 91 |
requires random_access_iterator<I>;
|
| 92 |
|
| 93 |
template<common_with<I> I2>
|
| 94 |
friend constexpr bool operator==(
|
| 95 |
const counted_iterator& x, const counted_iterator<I2>& y);
|
| 96 |
friend constexpr bool operator==(
|
| 97 |
+
const counted_iterator& x, default_sentinel_t) noexcept;
|
| 98 |
|
| 99 |
template<common_with<I> I2>
|
| 100 |
friend constexpr strong_ordering operator<=>(
|
| 101 |
const counted_iterator& x, const counted_iterator<I2>& y);
|
| 102 |
|
| 103 |
+
friend constexpr decltype(auto) iter_move(const counted_iterator& i)
|
| 104 |
noexcept(noexcept(ranges::iter_move(i.current)))
|
| 105 |
requires input_iterator<I>;
|
| 106 |
template<indirectly_swappable<I> I2>
|
| 107 |
friend constexpr void iter_swap(const counted_iterator& x, const counted_iterator<I2>& y)
|
| 108 |
noexcept(noexcept(ranges::iter_swap(x.current, y.current)));
|