You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[1]{.pnum} *Preconditions*: `*this` has a *target view object*.
1117
1117
1118
-
[2]{.pnum} *Effects*: Let `v` be an lvalue designating the *target view object* of `*this`.
1119
-
1120
-
-[2.1]{.pnum} If `Opts & any_view_options::contiguous` is `any_view_options::contiguous`, equivalent to:
1121
-
1122
-
```cpp
1123
-
return to_address(ranges::begin(v));
1124
-
```
1125
-
1126
-
-[2.2]{.pnum} Otherwise, returns an *iterator wrapper* object `@*iterator*@`, which holds a *target iterator object* of `ranges::begin(v)`
1118
+
[2]{.pnum} *Effects*: Let `v` be an lvalue designating the *target view object* of `*this`, returns an object of *iterator wrapper type*`@*iterator*@`, which holds a *target iterator object* of `ranges::begin(v)`
[3]{.pnum} *Preconditions*: `*this` has a *target view object*.
1137
1129
1138
-
[4]{.pnum} *Effects*: Let `v` be an lvalue designating the *target view object* of `*this`.
1139
-
1140
-
-[4.1]{.pnum} If `Opts & any_view_options::contiguous` is `any_view_options::contiguous`, equivalent to:
1141
-
1142
-
```cpp
1143
-
return to_address(ranges::end(v));
1144
-
```
1145
-
1146
-
-[4.2]{.pnum} Otherwise, returns a *sentinel wrapper* object `@*sentinel*@`, which holds a *target sentinel object* of `ranges::end(v)`
1130
+
[4]{.pnum} *Effects*: Let `v` be an lvalue designating the *target view object* of `*this`, returns an object of *sentinel wrapper type*`@*sentinel*@`, which holds a *target sentinel object* of `ranges::end(v)`
[1]{.pnum} `@*iterator*@::iterator_concept` is defined as follows:
1240
1225
1241
-
- [1.1]{.pnum} If `Opts & any_view_options::random_access` is `any_view_options::random_access`, then `iterator_concept` denotes `random_access_iterator_tag`.
1226
+
- [1.1]{.pnum} If `Opts & any_view_options::contiguous` is `any_view_options::contiguous`, then `iterator_concept` denotes `contiguous_iterator_tag`.
1227
+
1228
+
- [1.2]{.pnum} Otherwise, if `Opts & any_view_options::random_access` is `any_view_options::random_access`, then `iterator_concept` denotes `random_access_iterator_tag`.
1242
1229
1243
-
- [1.2]{.pnum} Otherwise, if `Opts & any_view_options::bidirectional` is `any_view_options::bidirectional`, then `iterator_concept` denotes `bidirectional_iterator_tag`.
1230
+
- [1.3]{.pnum} Otherwise, if `Opts & any_view_options::bidirectional` is `any_view_options::bidirectional`, then `iterator_concept` denotes `bidirectional_iterator_tag`.
1244
1231
1245
-
- [1.3]{.pnum} Otherwise, if `Opts & any_view_options::forward` is `any_view_options::forward`, then `iterator_concept` denotes `forward_iterator_tag`.
1232
+
- [1.4]{.pnum} Otherwise, if `Opts & any_view_options::forward` is `any_view_options::forward`, then `iterator_concept` denotes `forward_iterator_tag`.
[2]{.pnum} The member typedef-name `iterator_category` is defined if and only if `Opts & any_view_options::forward` is `any_view_options::forward`. In that case, `@*iterator*@::iterator_category` is defined as follows:
1251
1238
1252
-
- [2.1]{.pnum} If `is_reference_v<Ref>` is `true`, then `iterator_category` denotes `iterator_concept`.
1239
+
- [2.1]{.pnum} If `is_reference_v<Ref>` is `true`, and `iterator_concept` is `contiguous_iterator_tag`, then `iterator_category` denotes `random_access_iterator_tag`.
0 commit comments