tmp/tmpyofuv5pi/{from.md → to.md}
RENAMED
|
@@ -5,18 +5,17 @@ unique_ptr& operator=(unique_ptr&& u) noexcept;
|
|
| 5 |
```
|
| 6 |
|
| 7 |
*Requires:* If `D` is not a reference type, `D` shall satisfy the
|
| 8 |
requirements of `MoveAssignable` (Table [[moveassignable]]) and
|
| 9 |
assignment of the deleter from an rvalue of type `D` shall not throw an
|
| 10 |
-
exception. Otherwise, `D` is a reference type;
|
| 11 |
-
|
| 12 |
-
|
| 13 |
-
shall not throw an exception.
|
| 14 |
|
| 15 |
*Effects:* Transfers ownership from `u` to `*this` as if by calling
|
| 16 |
-
`reset(u.release())` followed by
|
| 17 |
-
`std::forward<D>(u.get_deleter())`.
|
| 18 |
|
| 19 |
*Returns:* `*this`.
|
| 20 |
|
| 21 |
``` cpp
|
| 22 |
template <class U, class E> unique_ptr& operator=(unique_ptr<U, E>&& u) noexcept;
|
|
@@ -33,12 +32,12 @@ unless:
|
|
| 33 |
|
| 34 |
- `unique_ptr<U, E>::pointer` is implicitly convertible to `pointer` and
|
| 35 |
- `U` is not an array type.
|
| 36 |
|
| 37 |
*Effects:* Transfers ownership from `u` to `*this` as if by calling
|
| 38 |
-
`reset(u.release())` followed by
|
| 39 |
-
`std::forward<
|
| 40 |
|
| 41 |
*Returns:* `*this`.
|
| 42 |
|
| 43 |
``` cpp
|
| 44 |
unique_ptr& operator=(nullptr_t) noexcept;
|
|
|
|
| 5 |
```
|
| 6 |
|
| 7 |
*Requires:* If `D` is not a reference type, `D` shall satisfy the
|
| 8 |
requirements of `MoveAssignable` (Table [[moveassignable]]) and
|
| 9 |
assignment of the deleter from an rvalue of type `D` shall not throw an
|
| 10 |
+
exception. Otherwise, `D` is a reference type; `remove_reference_t<D>`
|
| 11 |
+
shall satisfy the `CopyAssignable` requirements and assignment of the
|
| 12 |
+
deleter from an lvalue of type `D` shall not throw an exception.
|
|
|
|
| 13 |
|
| 14 |
*Effects:* Transfers ownership from `u` to `*this` as if by calling
|
| 15 |
+
`reset(u.release())` followed by
|
| 16 |
+
`get_deleter() = std::forward<D>(u.get_deleter())`.
|
| 17 |
|
| 18 |
*Returns:* `*this`.
|
| 19 |
|
| 20 |
``` cpp
|
| 21 |
template <class U, class E> unique_ptr& operator=(unique_ptr<U, E>&& u) noexcept;
|
|
|
|
| 32 |
|
| 33 |
- `unique_ptr<U, E>::pointer` is implicitly convertible to `pointer` and
|
| 34 |
- `U` is not an array type.
|
| 35 |
|
| 36 |
*Effects:* Transfers ownership from `u` to `*this` as if by calling
|
| 37 |
+
`reset(u.release())` followed by
|
| 38 |
+
`get_deleter() = std::forward<E>(u.get_deleter())`.
|
| 39 |
|
| 40 |
*Returns:* `*this`.
|
| 41 |
|
| 42 |
``` cpp
|
| 43 |
unique_ptr& operator=(nullptr_t) noexcept;
|