From Jason Turner

[range.iter.op.advance]

Diff to HTML by rtfpessoa

tmp/tmpdh44rans/{from.md → to.md} RENAMED
@@ -17,11 +17,13 @@ not negative.
17
  ``` cpp
18
  template<input_or_output_iterator I, sentinel_for<I> S>
19
  constexpr void ranges::advance(I& i, S bound);
20
  ```
21
 
22
- *Preconditions:* \[`i`, `bound`) denotes a range.
 
 
23
 
24
  *Effects:*
25
 
26
  - If `I` and `S` model `assignable_from<I&, S>`, equivalent to
27
  `i = std::move(bound)`.
 
17
  ``` cpp
18
  template<input_or_output_iterator I, sentinel_for<I> S>
19
  constexpr void ranges::advance(I& i, S bound);
20
  ```
21
 
22
+ *Preconditions:* Either
23
+ `assignable_from<I&, S> || sized_sentinel_for<S, I>` is modeled, or
24
+ \[`i`, `bound`) denotes a range.
25
 
26
  *Effects:*
27
 
28
  - If `I` and `S` model `assignable_from<I&, S>`, equivalent to
29
  `i = std::move(bound)`.