From Jason Turner

[move.iter.cons]

Diff to HTML by rtfpessoa

Files changed (1) hide show
  1. tmp/tmpvr3ham5q/{from.md → to.md} +11 -11
tmp/tmpvr3ham5q/{from.md → to.md} RENAMED
@@ -2,34 +2,34 @@
2
 
3
  ``` cpp
4
  constexpr move_iterator();
5
  ```
6
 
7
- *Effects:* Constructs a `move_iterator`, value-initializing `current`.
8
- Iterator operations applied to the resulting iterator have defined
9
- behavior if and only if the corresponding operations are defined on a
10
- value-initialized iterator of type `Iterator`.
11
 
12
  ``` cpp
13
  constexpr explicit move_iterator(Iterator i);
14
  ```
15
 
16
- *Effects:* Constructs a `move_iterator`, initializing `current` with
17
- `std::move(i)`.
18
 
19
  ``` cpp
20
  template<class U> constexpr move_iterator(const move_iterator<U>& u);
21
  ```
22
 
23
- *Mandates:* `U` is convertible to `Iterator`.
 
24
 
25
- *Effects:* Constructs a `move_iterator`, initializing `current` with
26
- `u.base()`.
27
 
28
  ``` cpp
29
  template<class U> constexpr move_iterator& operator=(const move_iterator<U>& u);
30
  ```
31
 
32
- *Mandates:* `U` is convertible to `Iterator`.
 
 
33
 
34
- *Effects:* Assigns `u.base()` to `current`.
 
 
35
 
 
2
 
3
  ``` cpp
4
  constexpr move_iterator();
5
  ```
6
 
7
+ *Effects:* Value-initializes `current`.
 
 
 
8
 
9
  ``` cpp
10
  constexpr explicit move_iterator(Iterator i);
11
  ```
12
 
13
+ *Effects:* Initializes `current` with `std::move(i)`.
 
14
 
15
  ``` cpp
16
  template<class U> constexpr move_iterator(const move_iterator<U>& u);
17
  ```
18
 
19
+ *Constraints:* `is_same_v<U, Iterator>` is `false` and `const U&` models
20
+ `convertible_to<Iterator>`.
21
 
22
+ *Effects:* Initializes `current` with `u.current`.
 
23
 
24
  ``` cpp
25
  template<class U> constexpr move_iterator& operator=(const move_iterator<U>& u);
26
  ```
27
 
28
+ *Constraints:* `is_same_v<U, Iterator>` is `false`, `const U&` models
29
+ `convertible_to<Iterator>`, and `assignable_from<Iterator&, const U&>`
30
+ is modeled.
31
 
32
+ *Effects:* Assigns `u.current` to `current`.
33
+
34
+ *Returns:* `*this`.
35