From Jason Turner

[iterator.range]

Diff to HTML by rtfpessoa

Files changed (1) hide show
  1. tmp/tmpobsy1co8/{from.md → to.md} +11 -9
tmp/tmpobsy1co8/{from.md → to.md} RENAMED
@@ -1,13 +1,13 @@
1
  ## Range access <a id="iterator.range">[[iterator.range]]</a>
2
 
3
  In addition to being available via inclusion of the `<iterator>` header,
4
  the function templates in [[iterator.range]] are available when any of
5
- the following headers are included: `<array>`, `<deque>`,
6
- `<forward_list>`, `<list>`, `<map>`, `<regex>`, `<set>`, `<span>`,
7
- `<string>`, `<string_view>`, `<unordered_map>`, `<unordered_set>`, and
8
- `<vector>`.
9
 
10
  ``` cpp
11
  template<class C> constexpr auto begin(C& c) -> decltype(c.begin());
12
  template<class C> constexpr auto begin(const C& c) -> decltype(c.begin());
13
  ```
@@ -125,23 +125,23 @@ template<class T, ptrdiff_t N> constexpr ptrdiff_t ssize(const T (&array)[N]) no
125
  ```
126
 
127
  *Returns:* `N`.
128
 
129
  ``` cpp
130
- template<class C> [[nodiscard]] constexpr auto empty(const C& c) -> decltype(c.empty());
131
  ```
132
 
133
  *Returns:* `c.empty()`.
134
 
135
  ``` cpp
136
- template<class T, size_t N> [[nodiscard]] constexpr bool empty(const T (&array)[N]) noexcept;
137
  ```
138
 
139
  *Returns:* `false`.
140
 
141
  ``` cpp
142
- template<class E> [[nodiscard]] constexpr bool empty(initializer_list<E> il) noexcept;
143
  ```
144
 
145
  *Returns:* `il.size() == 0`.
146
 
147
  ``` cpp
@@ -162,25 +162,26 @@ template<class E> constexpr const E* data(initializer_list<E> il) noexcept;
162
  ```
163
 
164
  *Returns:* `il.begin()`.
165
 
166
  <!-- Link reference definitions -->
 
167
  [alg.req]: #alg.req
168
  [alg.req.general]: #alg.req.general
169
  [alg.req.ind.cmp]: #alg.req.ind.cmp
170
  [alg.req.ind.copy]: #alg.req.ind.copy
171
  [alg.req.ind.move]: #alg.req.ind.move
172
  [alg.req.ind.swap]: #alg.req.ind.swap
173
  [alg.req.mergeable]: #alg.req.mergeable
174
  [alg.req.permutable]: #alg.req.permutable
175
  [alg.req.sortable]: #alg.req.sortable
 
176
  [back.insert.iter.ops]: #back.insert.iter.ops
177
  [back.insert.iterator]: #back.insert.iterator
178
  [back.inserter]: #back.inserter
179
  [basic.fundamental]: basic.md#basic.fundamental
180
  [basic.lookup.argdep]: basic.md#basic.lookup.argdep
181
- [basic.lookup.unqual]: basic.md#basic.lookup.unqual
182
  [basic.lval]: expr.md#basic.lval
183
  [bidirectional.iterators]: #bidirectional.iterators
184
  [bidirectionaliterator]: #bidirectionaliterator
185
  [cmp.concept]: support.md#cmp.concept
186
  [common.iter.access]: #common.iter.access
@@ -210,14 +211,14 @@ template<class E> constexpr const E* data(initializer_list<E> il) noexcept;
210
  [cpp17.equalitycomparable]: #cpp17.equalitycomparable
211
  [customization.point.object]: library.md#customization.point.object
212
  [default.sentinel]: #default.sentinel
213
  [defns.const.subexpr]: intro.md#defns.const.subexpr
214
  [defns.projection]: intro.md#defns.projection
215
- [expr.call]: expr.md#expr.call
216
  [expr.const]: expr.md#expr.const
217
  [forward.iterators]: #forward.iterators
218
  [forwarditerator]: #forwarditerator
 
219
  [front.insert.iter.ops]: #front.insert.iter.ops
220
  [front.insert.iterator]: #front.insert.iterator
221
  [front.inserter]: #front.inserter
222
  [func.def]: utilities.md#func.def
223
  [incrementable.traits]: #incrementable.traits
@@ -225,10 +226,11 @@ template<class E> constexpr const E* data(initializer_list<E> il) noexcept;
225
  [indirectcallable.general]: #indirectcallable.general
226
  [indirectcallable.indirectinvocable]: #indirectcallable.indirectinvocable
227
  [indirectcallable.traits]: #indirectcallable.traits
228
  [input.iterators]: #input.iterators
229
  [inputiterator]: #inputiterator
 
230
  [insert.iter.ops]: #insert.iter.ops
231
  [insert.iterator]: #insert.iterator
232
  [insert.iterators]: #insert.iterators
233
  [insert.iterators.general]: #insert.iterators.general
234
  [inserter]: #inserter
 
1
  ## Range access <a id="iterator.range">[[iterator.range]]</a>
2
 
3
  In addition to being available via inclusion of the `<iterator>` header,
4
  the function templates in [[iterator.range]] are available when any of
5
+ the following headers are included: `<array>`, `<deque>`, `<flat_map>`,
6
+ `<flat_set>`, `<forward_list>`, `<hive>`, `<inplace_vector>`, `<list>`,
7
+ `<map>`, `<regex>`, `<set>`, `<span>`, `<string>`, `<string_view>`,
8
+ `<unordered_map>`, `<unordered_set>`, and `<vector>`.
9
 
10
  ``` cpp
11
  template<class C> constexpr auto begin(C& c) -> decltype(c.begin());
12
  template<class C> constexpr auto begin(const C& c) -> decltype(c.begin());
13
  ```
 
125
  ```
126
 
127
  *Returns:* `N`.
128
 
129
  ``` cpp
130
+ template<class C> constexpr auto empty(const C& c) -> decltype(c.empty());
131
  ```
132
 
133
  *Returns:* `c.empty()`.
134
 
135
  ``` cpp
136
+ template<class T, size_t N> constexpr bool empty(const T (&array)[N]) noexcept;
137
  ```
138
 
139
  *Returns:* `false`.
140
 
141
  ``` cpp
142
+ template<class E> constexpr bool empty(initializer_list<E> il) noexcept;
143
  ```
144
 
145
  *Returns:* `il.size() == 0`.
146
 
147
  ``` cpp
 
162
  ```
163
 
164
  *Returns:* `il.begin()`.
165
 
166
  <!-- Link reference definitions -->
167
+ [alg.func.obj]: library.md#alg.func.obj
168
  [alg.req]: #alg.req
169
  [alg.req.general]: #alg.req.general
170
  [alg.req.ind.cmp]: #alg.req.ind.cmp
171
  [alg.req.ind.copy]: #alg.req.ind.copy
172
  [alg.req.ind.move]: #alg.req.ind.move
173
  [alg.req.ind.swap]: #alg.req.ind.swap
174
  [alg.req.mergeable]: #alg.req.mergeable
175
  [alg.req.permutable]: #alg.req.permutable
176
  [alg.req.sortable]: #alg.req.sortable
177
+ [back.insert.iter.general]: #back.insert.iter.general
178
  [back.insert.iter.ops]: #back.insert.iter.ops
179
  [back.insert.iterator]: #back.insert.iterator
180
  [back.inserter]: #back.inserter
181
  [basic.fundamental]: basic.md#basic.fundamental
182
  [basic.lookup.argdep]: basic.md#basic.lookup.argdep
 
183
  [basic.lval]: expr.md#basic.lval
184
  [bidirectional.iterators]: #bidirectional.iterators
185
  [bidirectionaliterator]: #bidirectionaliterator
186
  [cmp.concept]: support.md#cmp.concept
187
  [common.iter.access]: #common.iter.access
 
211
  [cpp17.equalitycomparable]: #cpp17.equalitycomparable
212
  [customization.point.object]: library.md#customization.point.object
213
  [default.sentinel]: #default.sentinel
214
  [defns.const.subexpr]: intro.md#defns.const.subexpr
215
  [defns.projection]: intro.md#defns.projection
 
216
  [expr.const]: expr.md#expr.const
217
  [forward.iterators]: #forward.iterators
218
  [forwarditerator]: #forwarditerator
219
+ [front.insert.iter.general]: #front.insert.iter.general
220
  [front.insert.iter.ops]: #front.insert.iter.ops
221
  [front.insert.iterator]: #front.insert.iterator
222
  [front.inserter]: #front.inserter
223
  [func.def]: utilities.md#func.def
224
  [incrementable.traits]: #incrementable.traits
 
226
  [indirectcallable.general]: #indirectcallable.general
227
  [indirectcallable.indirectinvocable]: #indirectcallable.indirectinvocable
228
  [indirectcallable.traits]: #indirectcallable.traits
229
  [input.iterators]: #input.iterators
230
  [inputiterator]: #inputiterator
231
+ [insert.iter.general]: #insert.iter.general
232
  [insert.iter.ops]: #insert.iter.ops
233
  [insert.iterator]: #insert.iterator
234
  [insert.iterators]: #insert.iterators
235
  [insert.iterators.general]: #insert.iterators.general
236
  [inserter]: #inserter