From Jason Turner

[container.node.cons]

Diff to HTML by rtfpessoa

Files changed (1) hide show
  1. tmp/tmpmn7xjwtf/{from.md → to.md} +11 -10
tmp/tmpmn7xjwtf/{from.md → to.md} RENAMED
@@ -1,32 +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.
 
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.