tmp/tmpgwc1hng_/{from.md → to.md}
RENAMED
|
@@ -28,17 +28,29 @@ iterators referring to the elements in the sequence, as well as the
|
|
| 28 |
past-the-end iterator. If no reallocation happens, then references,
|
| 29 |
pointers, and iterators before the insertion point remain valid but
|
| 30 |
those at or after the insertion point, including the past-the-end
|
| 31 |
iterator, are invalidated. If an exception is thrown other than by the
|
| 32 |
copy constructor, move constructor, assignment operator, or move
|
| 33 |
-
assignment operator of `T` or by any `InputIterator` operation there
|
| 34 |
-
no effects. If an exception is thrown while inserting a single
|
| 35 |
-
at the end and `T` is *Cpp17CopyInsertable* or
|
| 36 |
`is_nothrow_move_constructible_v<T>` is `true`, there are no effects.
|
| 37 |
Otherwise, if an exception is thrown by the move constructor of a
|
| 38 |
non-*Cpp17CopyInsertable* `T`, the effects are unspecified.
|
| 39 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 40 |
``` cpp
|
| 41 |
constexpr iterator erase(const_iterator position);
|
| 42 |
constexpr iterator erase(const_iterator first, const_iterator last);
|
| 43 |
constexpr void pop_back();
|
| 44 |
```
|
|
|
|
| 28 |
past-the-end iterator. If no reallocation happens, then references,
|
| 29 |
pointers, and iterators before the insertion point remain valid but
|
| 30 |
those at or after the insertion point, including the past-the-end
|
| 31 |
iterator, are invalidated. If an exception is thrown other than by the
|
| 32 |
copy constructor, move constructor, assignment operator, or move
|
| 33 |
+
assignment operator of `T` or by any `InputIterator` operation, there
|
| 34 |
+
are no effects. If an exception is thrown while inserting a single
|
| 35 |
+
element at the end and `T` is *Cpp17CopyInsertable* or
|
| 36 |
`is_nothrow_move_constructible_v<T>` is `true`, there are no effects.
|
| 37 |
Otherwise, if an exception is thrown by the move constructor of a
|
| 38 |
non-*Cpp17CopyInsertable* `T`, the effects are unspecified.
|
| 39 |
|
| 40 |
+
For the declarations taking a range `R`, performs at most one
|
| 41 |
+
reallocation if:
|
| 42 |
+
|
| 43 |
+
- `R` models `ranges::approximately_sized_range` and
|
| 44 |
+
`ranges::distance(rg) <= ranges::reserve_hint(rg)` is `true`, or
|
| 45 |
+
- `R` models `ranges::forward_range` and `R` does not model
|
| 46 |
+
`ranges::approximately_sized_range`.
|
| 47 |
+
|
| 48 |
+
For the declarations taking a pair of `InputIterator`, performs at most
|
| 49 |
+
one reallocation if `InputIterator` meets the *Cpp17ForwardIterator*
|
| 50 |
+
requirements.
|
| 51 |
+
|
| 52 |
``` cpp
|
| 53 |
constexpr iterator erase(const_iterator position);
|
| 54 |
constexpr iterator erase(const_iterator first, const_iterator last);
|
| 55 |
constexpr void pop_back();
|
| 56 |
```
|