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 |
-
`<
|
| 7 |
-
`<
|
| 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>
|
| 131 |
```
|
| 132 |
|
| 133 |
*Returns:* `c.empty()`.
|
| 134 |
|
| 135 |
``` cpp
|
| 136 |
-
template<class T, size_t N>
|
| 137 |
```
|
| 138 |
|
| 139 |
*Returns:* `false`.
|
| 140 |
|
| 141 |
``` cpp
|
| 142 |
-
template<class E>
|
| 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
|