tmp/tmpmn7xjwtf/{from.md → to.md}
RENAMED
|
@@ -1,32 +1,33 @@
|
|
| 1 |
-
####
|
| 2 |
|
| 3 |
``` cpp
|
| 4 |
-
|
| 5 |
```
|
| 6 |
|
| 7 |
-
*Effects:* Constructs a *
|
| 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 |
-
|
| 13 |
```
|
| 14 |
|
| 15 |
-
*
|
| 16 |
-
`ator_traits::propagate_on_container_move_assignment` is `true`,
|
| 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
|
| 27 |
-
|
|
|
|
| 28 |
- Assigns `nullptr` to `nh.ptr_` and assigns `nullopt` to `nh.alloc_`.
|
| 29 |
|
| 30 |
*Returns:* `*this`.
|
| 31 |
|
| 32 |
*Throws:* Nothing.
|
|
|
|
| 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 `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 |
+
*Preconditions:* Either `!alloc_`, or
|
| 16 |
+
`ator_traits::propagate_on_container_move_assignment::value` is `true`,
|
| 17 |
+
or `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::template rebind_traits<container_node_type>::deallocate`.
|
| 25 |
- Assigns `nh.ptr_` to `ptr_`.
|
| 26 |
+
- If `!alloc` or
|
| 27 |
+
`ator_traits::propagate_on_container_move_assignment::value` is
|
| 28 |
+
`true`, move assigns `nh.alloc_` to `alloc_`.
|
| 29 |
- Assigns `nullptr` to `nh.ptr_` and assigns `nullopt` to `nh.alloc_`.
|
| 30 |
|
| 31 |
*Returns:* `*this`.
|
| 32 |
|
| 33 |
*Throws:* Nothing.
|