|
1276 | 1276 | range<T> && @\libconcept{same_as}@<iterator_t<T>, sentinel_t<T>>;
|
1277 | 1277 | \end{itemdecl}
|
1278 | 1278 |
|
| 1279 | +\newpage |
| 1280 | + |
1279 | 1281 | \pnum
|
1280 | 1282 | The \libconcept{viewable_range} concept specifies the requirements of a
|
1281 | 1283 | \libconcept{range} type that can be converted to a \libconcept{view} safely.
|
|
2780 | 2782 | if (@\exposid{stream_}@) {
|
2781 | 2783 | *@\exposid{stream_}@ >> @\exposid{object_}@;
|
2782 | 2784 | }
|
| 2785 | + |
2783 | 2786 | return @\exposid{iterator}@{*this};
|
2784 | 2787 | }
|
2785 | 2788 |
|
|
2884 | 2887 | \expects
|
2885 | 2888 | \tcode{\exposid{parent_}->\exposid{stream_} != nullptr} is \tcode{true}.
|
2886 | 2889 |
|
| 2890 | +\newpage |
| 2891 | + |
2887 | 2892 | \pnum
|
2888 | 2893 | \effects
|
2889 | 2894 | Equivalent to:
|
|
3439 | 3444 | \end{codeblock}
|
3440 | 3445 | \end{itemdescr}
|
3441 | 3446 |
|
| 3447 | +\newpage |
| 3448 | + |
3442 | 3449 | \indexlibrarymember{operator\dcr}{filter_view::iterator}%
|
3443 | 3450 | \begin{itemdecl}
|
3444 | 3451 | constexpr @\exposid{iterator}@& operator--() requires @\libconcept{bidirectional_range}@<V>;
|
|
3579 | 3586 | \tcode{views::transform(E, F)} is expression-equivalent to
|
3580 | 3587 | \tcode{transform_view\{E, F\}}.
|
3581 | 3588 |
|
| 3589 | +\newpage |
| 3590 | + |
3582 | 3591 | \pnum
|
3583 | 3592 | \begin{example}
|
3584 | 3593 | \begin{codeblock}
|
|
3850 | 3859 | \item Otherwise, \tcode{iterator_concept} denotes \tcode{input_iterator_tag}.
|
3851 | 3860 | \end{itemize}
|
3852 | 3861 |
|
| 3862 | +\newpage |
| 3863 | + |
3853 | 3864 | \pnum
|
3854 | 3865 | \tcode{iterator::iterator_category} is defined as follows:
|
3855 | 3866 | Let \tcode{C} denote the type
|
|
4009 | 4020 | \end{codeblock}
|
4010 | 4021 | \end{itemdescr}
|
4011 | 4022 |
|
| 4023 | +\newpage |
| 4024 | + |
4012 | 4025 | \indexlibrarymember{operator-=}{transform_view::iterator}%
|
4013 | 4026 | \begin{itemdecl}
|
4014 | 4027 | constexpr @\exposid{iterator}@& operator-=(difference_type n)
|
|
4684 | 4697 | Otherwise, \tcode{ranges::drop_view\{E, F\}}.
|
4685 | 4698 | \end{itemize}
|
4686 | 4699 |
|
| 4700 | +\newpage |
| 4701 | + |
4687 | 4702 | \pnum
|
4688 | 4703 | \begin{example}
|
4689 | 4704 | \begin{codeblock}
|
|
4766 | 4781 | \exposid{count_} with \tcode{count}.
|
4767 | 4782 | \end{itemdescr}
|
4768 | 4783 |
|
| 4784 | +\newpage |
| 4785 | + |
4769 | 4786 | \indexlibrarymember{begin}{drop_view}%
|
4770 | 4787 | \begin{itemdecl}
|
4771 | 4788 | constexpr auto begin()
|
|
5239 | 5256 | Equivalent to: \tcode{++*this}.
|
5240 | 5257 | \end{itemdescr}
|
5241 | 5258 |
|
| 5259 | +\newpage |
| 5260 | + |
5242 | 5261 | \indexlibrarymember{operator++}{join_view::iterator}%
|
5243 | 5262 | \begin{itemdecl}
|
5244 | 5263 | constexpr @\exposid{iterator}@ operator++(int)
|
|
6262 | 6281 | \tcode{keys_view} is an alias for \tcode{elements_view<views::all_t<R>, 0>}, and
|
6263 | 6282 | is useful for extracting keys from associative containers.
|
6264 | 6283 |
|
| 6284 | +\newpage |
| 6285 | + |
6265 | 6286 | \begin{example}
|
6266 | 6287 | \begin{codeblock}
|
6267 | 6288 | auto names = keys_view{historical_figures};
|
|
6548 | 6569 | \end{codeblock}
|
6549 | 6570 | \end{itemdescr}
|
6550 | 6571 |
|
| 6572 | +\newpage |
| 6573 | + |
6551 | 6574 | \indexlibrarymember{operator+=}{elements_view::iterator}%
|
6552 | 6575 | \begin{itemdecl}
|
6553 | 6576 | constexpr @\exposid{iterator}@& operator+=(difference_type n);
|
|
6700 | 6723 | Equivalent to: \tcode{return x.\exposid{current_} - y.\exposid{current_};}
|
6701 | 6724 | \end{itemdescr}
|
6702 | 6725 |
|
| 6726 | +\newpage |
| 6727 | + |
6703 | 6728 | \rSec3[range.elements.sentinel]{Class template \tcode{elements_view::\exposid{sentinel}}}
|
6704 | 6729 |
|
6705 | 6730 | \indexlibraryglobal{elements_view::sentinel}%
|
|
0 commit comments