|
5822 | 5822 |
|
5823 | 5823 | \pnum
|
5824 | 5824 | \tcode{join_with_view} takes a \libconcept{view} and a delimiter, and
|
5825 |
| -flattens the view, |
| 5825 | +flattens the \libconcept{view}, |
5826 | 5826 | inserting every element of the delimiter
|
5827 | 5827 | in between elements of the \libconcept{view}.
|
5828 | 5828 | The delimiter can be a single element or a \libconcept{view} of elements.
|
|
5901 | 5901 |
|
5902 | 5902 | constexpr auto end() {
|
5903 | 5903 | if constexpr (@\libconcept{forward_range}@<V> &&
|
5904 |
| - is_reference_v<InnerRng> && @\libconcept{forward_range}@<@\exposid{InnerRng}@> && |
| 5904 | + is_reference_v<@\exposid{InnerRng}@> && @\libconcept{forward_range}@<@\exposid{InnerRng}@> && |
5905 | 5905 | @\libconcept{common_range}@<V> && @\libconcept{common_range}@<@\exposid{InnerRng}@>)
|
5906 | 5906 | return @\exposid{iterator}@<@\exposconcept{simple-view}@<V> && @\exposconcept{simple-view}@<Pattern>>{*this, ranges::end(@\exposid{base_}@)};
|
5907 | 5907 | else
|
|
5922 | 5922 | template<class R, class P>
|
5923 | 5923 | join_with_view(R&&, P&&) -> join_with_view<views::all_t<R>, views::all_t<P>>;
|
5924 | 5924 |
|
5925 |
| - template<input_range R> |
| 5925 | + template<@\libconcept{input_range}@ R> |
5926 | 5926 | join_with_view(R&&, range_value_t<range_reference_t<R>>)
|
5927 | 5927 | -> join_with_view<views::all_t<R>, single_view<range_value_t<range_reference_t<R>>>>;
|
5928 | 5928 | }
|
|
5940 | 5940 | \end{itemdescr}
|
5941 | 5941 |
|
5942 | 5942 | \begin{itemdecl}
|
5943 |
| -template<input_range R> |
| 5943 | +template<@\libconcept{input_range}@ R> |
5944 | 5944 | requires @\libconcept{constructible_from}@<V, views::all_t<R>> &&
|
5945 | 5945 | @\libconcept{constructible_from}@<Pattern, single_view<range_value_t<@\exposid{InnerRng}@>>>
|
5946 | 5946 | constexpr join_with_view(R&& r, range_value_t<@\exposid{InnerRng}@> e);
|
|
6005 | 6005 | requires @\exposid{ref-is-glvalue}@ && @\libconcept{bidirectional_range}@<@\exposid{Base}@> &&
|
6006 | 6006 | @\exposconcept{bidirectional-common}@<@\exposid{InnerBase}@> && @\exposconcept{bidirectional-common}@<@\exposid{PatternBase}@>;
|
6007 | 6007 | constexpr @\exposid{iterator}@ operator--(int)
|
6008 |
| - requires @\exposid{ref-is-glvalue}@ && @\libconcept{bidirectional_range}@<Base> && |
| 6008 | + requires @\exposid{ref-is-glvalue}@ && @\libconcept{bidirectional_range}@<@\exposid{Base}@> && |
6009 | 6009 | @\exposconcept{bidirectional-common}@<@\exposid{InnerBase}@> && @\exposconcept{bidirectional-common}@<@\exposid{PatternBase}@>;
|
6010 | 6010 |
|
6011 | 6011 | friend constexpr bool operator==(const @\exposid{iterator}@& x, const @\exposid{iterator}@& y)
|
|
6123 | 6123 | \effects
|
6124 | 6124 | Equivalent to:
|
6125 | 6125 | \begin{codeblock}
|
6126 |
| -if constexpr (ref-is-glvalue) |
| 6126 | +if constexpr (@\exposid{ref-is-glvalue}@) |
6127 | 6127 | return *x;
|
6128 | 6128 | else
|
6129 | 6129 | return *@\exposid{parent_}@->@\exposid{inner_}@;
|
|
6312 | 6312 | \effects
|
6313 | 6313 | Equivalent to:
|
6314 | 6314 | \begin{codeblock}
|
6315 |
| -iterator tmp = *this; |
| 6315 | +@\exposid{iterator}@ tmp = *this; |
6316 | 6316 | --*this;
|
6317 | 6317 | return tmp;
|
6318 | 6318 | \end{codeblock}
|
|
6359 | 6359 | \end{codeblock}
|
6360 | 6360 |
|
6361 | 6361 | \begin{itemdecl}
|
6362 |
| -constexpr explicit sentinel(Parent& parent); |
| 6362 | +constexpr explicit @\exposid{sentinel}@(@\exposid{Parent}@& parent); |
6363 | 6363 | \end{itemdecl}
|
6364 | 6364 |
|
6365 | 6365 | \begin{itemdescr}
|
|
0 commit comments