From Jason Turner

[uninitialized.move]

Diff to HTML by rtfpessoa

Files changed (1) hide show
  1. tmp/tmpkyhrln6v/{from.md → to.md} +39 -0
tmp/tmpkyhrln6v/{from.md → to.md} RENAMED
@@ -0,0 +1,39 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #### `uninitialized_move` <a id="uninitialized.move">[[uninitialized.move]]</a>
2
+
3
+ ``` cpp
4
+ template <class InputIterator, class ForwardIterator>
5
+ ForwardIterator uninitialized_move(InputIterator first, InputIterator last,
6
+ ForwardIterator result);
7
+ ```
8
+
9
+ *Effects:* Equivalent to:
10
+
11
+ ``` cpp
12
+ for (; first != last; (void)++result, ++first)
13
+ ::new (static_cast<void*>(addressof(*result)))
14
+ typename iterator_traits<ForwardIterator>::value_type(std::move(*first));
15
+ return result;
16
+ ```
17
+
18
+ *Remarks:* If an exception is thrown, some objects in the range
19
+ \[`first`, `last`) are left in a valid but unspecified state.
20
+
21
+ ``` cpp
22
+ template <class InputIterator, class Size, class ForwardIterator>
23
+ pair<InputIterator, ForwardIterator>
24
+ uninitialized_move_n(InputIterator first, Size n, ForwardIterator result);
25
+ ```
26
+
27
+ *Effects:* Equivalent to:
28
+
29
+ ``` cpp
30
+ for (; n > 0; ++result, (void) ++first, --n)
31
+ ::new (static_cast<void*>(addressof(*result)))
32
+ typename iterator_traits<ForwardIterator>::value_type(std::move(*first));
33
+ return {first,result};
34
+ ```
35
+
36
+ *Remarks:* If an exception is thrown, some objects in the range
37
+ \[`first`, `std::next(first,n)`) are left in a valid but unspecified
38
+ state.
39
+