tmp/tmp7bcym9d_/{from.md → to.md}
RENAMED
|
@@ -27,14 +27,14 @@ for (; first != last; ++first)
|
|
| 27 |
destroy_at(addressof(*first));
|
| 28 |
```
|
| 29 |
|
| 30 |
``` cpp
|
| 31 |
namespace ranges {
|
| 32 |
-
template<
|
| 33 |
requires destructible<iter_value_t<I>>
|
| 34 |
constexpr I destroy(I first, S last) noexcept;
|
| 35 |
-
template<
|
| 36 |
requires destructible<range_value_t<R>>
|
| 37 |
constexpr borrowed_iterator_t<R> destroy(R&& r) noexcept;
|
| 38 |
}
|
| 39 |
```
|
| 40 |
|
|
@@ -59,17 +59,17 @@ for (; n > 0; (void)++first, --n)
|
|
| 59 |
return first;
|
| 60 |
```
|
| 61 |
|
| 62 |
``` cpp
|
| 63 |
namespace ranges {
|
| 64 |
-
template<
|
| 65 |
requires destructible<iter_value_t<I>>
|
| 66 |
constexpr I destroy_n(I first, iter_difference_t<I> n) noexcept;
|
| 67 |
}
|
| 68 |
```
|
| 69 |
|
| 70 |
*Effects:* Equivalent to:
|
| 71 |
|
| 72 |
``` cpp
|
| 73 |
-
return destroy(counted_iterator(first, n), default_sentinel).base();
|
| 74 |
```
|
| 75 |
|
|
|
|
| 27 |
destroy_at(addressof(*first));
|
| 28 |
```
|
| 29 |
|
| 30 |
``` cpp
|
| 31 |
namespace ranges {
|
| 32 |
+
template<nothrow-input-iterator I, nothrow-sentinel-for<I> S>
|
| 33 |
requires destructible<iter_value_t<I>>
|
| 34 |
constexpr I destroy(I first, S last) noexcept;
|
| 35 |
+
template<nothrow-input-range R>
|
| 36 |
requires destructible<range_value_t<R>>
|
| 37 |
constexpr borrowed_iterator_t<R> destroy(R&& r) noexcept;
|
| 38 |
}
|
| 39 |
```
|
| 40 |
|
|
|
|
| 59 |
return first;
|
| 60 |
```
|
| 61 |
|
| 62 |
``` cpp
|
| 63 |
namespace ranges {
|
| 64 |
+
template<nothrow-input-iterator I>
|
| 65 |
requires destructible<iter_value_t<I>>
|
| 66 |
constexpr I destroy_n(I first, iter_difference_t<I> n) noexcept;
|
| 67 |
}
|
| 68 |
```
|
| 69 |
|
| 70 |
*Effects:* Equivalent to:
|
| 71 |
|
| 72 |
``` cpp
|
| 73 |
+
return destroy(counted_iterator(std::move(first), n), default_sentinel).base();
|
| 74 |
```
|
| 75 |
|