tmp/tmpjaltc90u/{from.md → to.md}
RENAMED
|
@@ -1,34 +1,36 @@
|
|
| 1 |
#### Constructors, copy, and assignment <a id="container.node.cons">[[container.node.cons]]</a>
|
| 2 |
|
| 3 |
``` cpp
|
| 4 |
-
node-handle(node-handle&& nh) noexcept;
|
| 5 |
```
|
| 6 |
|
| 7 |
-
*Effects:* Constructs a *node-handle* object initializing
|
| 8 |
-
`nh.ptr_`. Move constructs
|
| 9 |
-
to `nh.ptr_` and assigns `nullopt` to `nh.alloc_`.
|
| 10 |
|
| 11 |
``` cpp
|
| 12 |
-
node-handle& operator=(node-handle&& nh);
|
| 13 |
```
|
| 14 |
|
| 15 |
-
*Preconditions:* Either `!alloc_`, or
|
| 16 |
-
`
|
| 17 |
-
or `alloc_ == nh.alloc_`.
|
| 18 |
|
| 19 |
*Effects:*
|
| 20 |
|
| 21 |
-
- If `ptr_ != nullptr`, destroys the `value_type`
|
| 22 |
-
|
| 23 |
-
`
|
| 24 |
-
|
| 25 |
-
-
|
| 26 |
-
-
|
| 27 |
-
|
| 28 |
-
`
|
| 29 |
-
|
|
|
|
|
|
|
| 30 |
|
| 31 |
*Returns:* `*this`.
|
| 32 |
|
| 33 |
*Throws:* Nothing.
|
| 34 |
|
|
|
|
| 1 |
#### Constructors, copy, and assignment <a id="container.node.cons">[[container.node.cons]]</a>
|
| 2 |
|
| 3 |
``` cpp
|
| 4 |
+
constexpr node-handle(node-handle&& nh) noexcept;
|
| 5 |
```
|
| 6 |
|
| 7 |
+
*Effects:* Constructs a *node-handle* object initializing *ptr\_* with
|
| 8 |
+
`nh.`*`ptr_`*. Move constructs *alloc\_* with `nh.`*`alloc_`*. Assigns
|
| 9 |
+
`nullptr` to `nh.`*`ptr_`* and assigns `nullopt` to `nh.`*`alloc_`*.
|
| 10 |
|
| 11 |
``` cpp
|
| 12 |
+
constexpr node-handle& operator=(node-handle&& nh);
|
| 13 |
```
|
| 14 |
|
| 15 |
+
*Preconditions:* Either `!`*`alloc_`* is `true`, or
|
| 16 |
+
*`ator-traits`*`::propagate_on_container_move_assignment::value` is
|
| 17 |
+
`true`, or *`alloc_`*` == nh.`*`alloc_`* is `true`.
|
| 18 |
|
| 19 |
*Effects:*
|
| 20 |
|
| 21 |
+
- If *`ptr_`*` != nullptr` is `true`, destroys the `value_type`
|
| 22 |
+
subobject in the *container-node-type* object pointed to by *ptr\_* by
|
| 23 |
+
calling *`ator-traits`*`::destroy`, then deallocates *ptr\_* by
|
| 24 |
+
calling
|
| 25 |
+
*`ator-traits`*`::template rebind_traits<`*`container-node-type`*`>::deallocate`.
|
| 26 |
+
- Assigns `nh.`*`ptr_`* to *ptr\_*.
|
| 27 |
+
- If `!`*`alloc_`* is `true` or
|
| 28 |
+
*`ator-traits`*`::propagate_on_container_move_assignment::value` is
|
| 29 |
+
`true`, move assigns `nh.`*`alloc_`* to *alloc\_*.
|
| 30 |
+
- Assigns `nullptr` to `nh.`*`ptr_`* and assigns `nullopt` to
|
| 31 |
+
`nh.`*`alloc_`*.
|
| 32 |
|
| 33 |
*Returns:* `*this`.
|
| 34 |
|
| 35 |
*Throws:* Nothing.
|
| 36 |
|