From Jason Turner

[move.iter.nonmember]

Diff to HTML by rtfpessoa

tmp/tmp4hfivccx/{from.md → to.md} RENAMED
@@ -1,11 +1,11 @@
1
  #### Non-member functions <a id="move.iter.nonmember">[[move.iter.nonmember]]</a>
2
 
3
  ``` cpp
4
  template<class Iterator1, class Iterator2>
5
- constexpr auto operator-(const move_iterator<Iterator1>& x,
6
- const move_iterator<Iterator2>& y)
7
  -> decltype(x.base() - y.base());
8
  template<sized_sentinel_for<Iterator> S>
9
  friend constexpr iter_difference_t<Iterator>
10
  operator-(const move_sentinel<S>& x, const move_iterator& y);
11
  template<sized_sentinel_for<Iterator> S>
@@ -19,11 +19,11 @@ template<sized_sentinel_for<Iterator> S>
19
  template<class Iterator>
20
  constexpr move_iterator<Iterator>
21
  operator+(iter_difference_t<Iterator> n, const move_iterator<Iterator>& x);
22
  ```
23
 
24
- *Constraints:* `x + n` is well-formed and has type `Iterator`.
25
 
26
  *Returns:* `x + n`.
27
 
28
  ``` cpp
29
  friend constexpr iter_rvalue_reference_t<Iterator>
 
1
  #### Non-member functions <a id="move.iter.nonmember">[[move.iter.nonmember]]</a>
2
 
3
  ``` cpp
4
  template<class Iterator1, class Iterator2>
5
+ constexpr auto operator-(
6
+ const move_iterator<Iterator1>& x, const move_iterator<Iterator2>& y)
7
  -> decltype(x.base() - y.base());
8
  template<sized_sentinel_for<Iterator> S>
9
  friend constexpr iter_difference_t<Iterator>
10
  operator-(const move_sentinel<S>& x, const move_iterator& y);
11
  template<sized_sentinel_for<Iterator> S>
 
19
  template<class Iterator>
20
  constexpr move_iterator<Iterator>
21
  operator+(iter_difference_t<Iterator> n, const move_iterator<Iterator>& x);
22
  ```
23
 
24
+ *Constraints:* `x.base() + n` is well-formed and has type `Iterator`.
25
 
26
  *Returns:* `x + n`.
27
 
28
  ``` cpp
29
  friend constexpr iter_rvalue_reference_t<Iterator>