From Jason Turner

[range.iter.op.distance]

Diff to HTML by rtfpessoa

tmp/tmpwzsv7q5n/{from.md → to.md} RENAMED
@@ -15,11 +15,17 @@ number of increments.
15
  template<class I, sized_sentinel_for<decay_t<I>> S>
16
  constexpr iter_difference_t<decay_t<I>> ranges::distance(I&& first, S last);
17
  ```
18
 
19
  *Effects:* Equivalent to:
20
- `return last - static_cast<const decay_t<I>&>(first);`
 
 
 
 
 
 
21
 
22
  ``` cpp
23
  template<range R>
24
  constexpr range_difference_t<R> ranges::distance(R&& r);
25
  ```
 
15
  template<class I, sized_sentinel_for<decay_t<I>> S>
16
  constexpr iter_difference_t<decay_t<I>> ranges::distance(I&& first, S last);
17
  ```
18
 
19
  *Effects:* Equivalent to:
20
+
21
+ ``` cpp
22
+ if constexpr (!is_array_v<remove_reference_t<I>>)
23
+ return last - first;
24
+ else
25
+ return last - static_cast<decay_t<I>>(first);
26
+ ```
27
 
28
  ``` cpp
29
  template<range R>
30
  constexpr range_difference_t<R> ranges::distance(R&& r);
31
  ```