tmp/tmpqeem03jq/{from.md → to.md}
RENAMED
|
@@ -47,19 +47,19 @@ exposition only, and `_RangeT` is the type of the *expression*, and
|
|
| 47 |
are looked up in the scope of class `\mbox{_RangeT}` as if by class
|
| 48 |
member access lookup ([[basic.lookup.classref]]), and if either (or
|
| 49 |
both) finds at least one declaration, *begin-expr* and *end-expr* are
|
| 50 |
`__range.begin()` and `__range.end()`, respectively;
|
| 51 |
- otherwise, *begin-expr* and *end-expr* are `begin(__range)` and
|
| 52 |
-
`end(__range)`, respectively, where `begin` and `end` are looked up
|
| 53 |
-
|
| 54 |
-
|
| 55 |
-
namespace.
|
| 56 |
|
| 57 |
``` cpp
|
| 58 |
int array[5] = { 1, 2, 3, 4, 5 };
|
| 59 |
for (int& x : array)
|
| 60 |
x *= 2;
|
| 61 |
```
|
| 62 |
|
| 63 |
In the *decl-specifier-seq* of a *for-range-declaration*, each
|
| 64 |
-
*decl-specifier* shall be either a *type-specifier* or `constexpr`.
|
|
|
|
| 65 |
|
|
|
|
| 47 |
are looked up in the scope of class `\mbox{_RangeT}` as if by class
|
| 48 |
member access lookup ([[basic.lookup.classref]]), and if either (or
|
| 49 |
both) finds at least one declaration, *begin-expr* and *end-expr* are
|
| 50 |
`__range.begin()` and `__range.end()`, respectively;
|
| 51 |
- otherwise, *begin-expr* and *end-expr* are `begin(__range)` and
|
| 52 |
+
`end(__range)`, respectively, where `begin` and `end` are looked up in
|
| 53 |
+
the associated namespaces ([[basic.lookup.argdep]]). Ordinary
|
| 54 |
+
unqualified lookup ([[basic.lookup.unqual]]) is not performed.
|
|
|
|
| 55 |
|
| 56 |
``` cpp
|
| 57 |
int array[5] = { 1, 2, 3, 4, 5 };
|
| 58 |
for (int& x : array)
|
| 59 |
x *= 2;
|
| 60 |
```
|
| 61 |
|
| 62 |
In the *decl-specifier-seq* of a *for-range-declaration*, each
|
| 63 |
+
*decl-specifier* shall be either a *type-specifier* or `constexpr`. The
|
| 64 |
+
*decl-specifier-seq* shall not define a class or enumeration.
|
| 65 |
|