tmp/tmpnbs1vob1/{from.md → to.md}
RENAMED
|
@@ -0,0 +1,33 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
#### `node_handle` 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 `ptr_` with
|
| 8 |
+
`nh.ptr_`. Move constructs `alloc_` with `nh.alloc_`. Assigns `nullptr`
|
| 9 |
+
to `nh.ptr_` and assigns `nullopt` to `nh.alloc_`.
|
| 10 |
+
|
| 11 |
+
``` cpp
|
| 12 |
+
node_handle& operator=(node_handle&& nh);
|
| 13 |
+
```
|
| 14 |
+
|
| 15 |
+
*Requires:* Either `!alloc_`, or
|
| 16 |
+
`ator_traits::propagate_on_container_move_assignment` is `true`, or
|
| 17 |
+
`alloc_ == nh.alloc_`.
|
| 18 |
+
|
| 19 |
+
*Effects:*
|
| 20 |
+
|
| 21 |
+
- If `ptr_ != nullptr`, destroys the `value_type` subobject in the
|
| 22 |
+
`container_node_type` object pointed to by `ptr_` by calling
|
| 23 |
+
`ator_traits::destroy`, then deallocates `ptr_` by calling
|
| 24 |
+
`ator_traits::rebind_traits<container_node_type>::deallocate`.
|
| 25 |
+
- Assigns `nh.ptr_` to `ptr_`.
|
| 26 |
+
- If `!alloc` or `ator_traits::propagate_on_container_move_assignment`
|
| 27 |
+
is `true`, move assigns `nh.alloc_` to `alloc_`.
|
| 28 |
+
- Assigns `nullptr` to `nh.ptr_` and assigns `nullopt` to `nh.alloc_`.
|
| 29 |
+
|
| 30 |
+
*Returns:* `*this`.
|
| 31 |
+
|
| 32 |
+
*Throws:* Nothing.
|
| 33 |
+
|