From Jason Turner

[range.utility.helpers]

Diff to HTML by rtfpessoa

tmp/tmpol_9rj19/{from.md → to.md} RENAMED
@@ -1,20 +1,20 @@
1
  ### Helper concepts <a id="range.utility.helpers">[[range.utility.helpers]]</a>
2
 
3
- Many of the types in subclause  [[range.utility]] are specified in terms
4
- of the following exposition-only concepts:
5
 
6
  ``` cpp
7
  template<class R>
8
  concept simple-view = // exposition only
9
  view<R> && range<const R> &&
10
  same_as<iterator_t<R>, iterator_t<const R>> &&
11
  same_as<sentinel_t<R>, sentinel_t<const R>>;
12
 
13
  template<class I>
14
  concept has-arrow = // exposition only
15
- input_iterator<I> && (is_pointer_v<I> || requires(I i) { i.operator->(); });
16
 
17
  template<class T, class U>
18
  concept different-from = // exposition only
19
  !same_as<remove_cvref_t<T>, remove_cvref_t<U>>;
20
 
 
1
  ### Helper concepts <a id="range.utility.helpers">[[range.utility.helpers]]</a>
2
 
3
+ Many of the types in [[range.utility]] are specified in terms of the
4
+ following exposition-only concepts:
5
 
6
  ``` cpp
7
  template<class R>
8
  concept simple-view = // exposition only
9
  view<R> && range<const R> &&
10
  same_as<iterator_t<R>, iterator_t<const R>> &&
11
  same_as<sentinel_t<R>, sentinel_t<const R>>;
12
 
13
  template<class I>
14
  concept has-arrow = // exposition only
15
+ input_iterator<I> && (is_pointer_v<I> || requires(const I i) { i.operator->(); });
16
 
17
  template<class T, class U>
18
  concept different-from = // exposition only
19
  !same_as<remove_cvref_t<T>, remove_cvref_t<U>>;
20