|
14345 | 14345 | \pnum
|
14346 | 14346 | \effects
|
14347 | 14347 | Equivalent to:
|
14348 |
| -\tcode{return \exposid{iterator}<false>(\exposid{tuple-transform}(ranges::begin, \exposid{bases_}));} |
| 14348 | +\begin{codeblock} |
| 14349 | +return @\exposid{iterator}@<false>(*this, @\exposid{tuple-transform}@(ranges::begin, @\exposid{bases_}@)); |
| 14350 | +\end{codeblock} |
14349 | 14351 | \end{itemdescr}
|
14350 | 14352 |
|
14351 | 14353 | \begin{itemdecl}
|
|
14357 | 14359 | \pnum
|
14358 | 14360 | \effects
|
14359 | 14361 | Equivalent to:
|
14360 |
| -\tcode{return \exposid{iterator}<true>(\exposid{tuple-transform}(ranges::begin, \exposid{bases_}));} |
| 14362 | +\begin{codeblock} |
| 14363 | +return @\exposid{iterator}@<true>(*this, @\exposid{tuple-transform}@(ranges::begin, @\exposid{bases_}@)); |
| 14364 | +\end{codeblock} |
14361 | 14365 | \end{itemdescr}
|
14362 | 14366 |
|
14363 | 14367 | \begin{itemdecl}
|
|
14391 | 14395 | \effects
|
14392 | 14396 | Equivalent to:
|
14393 | 14397 | \begin{codeblock}
|
14394 |
| -@\exposid{iterator}@<@\exposid{is-const}@> it(@\exposid{tuple-transform}@( |
| 14398 | +@\exposid{iterator}@<@\exposid{is-const}@> it(*this, @\exposid{tuple-transform}@( |
14395 | 14399 | [](auto& rng){ return @\exposid{begin-or-first-end}@(rng); }, @\exposid{bases_}@));
|
14396 | 14400 | return it;
|
14397 | 14401 | \end{codeblock}
|
@@ -14506,21 +14510,22 @@
|
14506 | 14510 | @\libconcept{indirectly_swappable}@<iterator_t<@\exposid{maybe-const}@<Const, Vs>>>);
|
14507 | 14511 |
|
14508 | 14512 | private:
|
14509 |
| - @\exposid{maybe-const}@<Const, cartesian_product_view>* @\exposid{parent_}@ = nullptr; // \expos |
| 14513 | + using @\exposidnc{Parent}@ = @\exposidnc{maybe-const}@<Const, cartesian_product_view>; // \expos |
| 14514 | + @\exposidnc{Parent}@* @\exposidnc{parent_}@ = nullptr; // \expos |
14510 | 14515 | tuple<iterator_t<@\exposid{maybe-const}@<Const, First>>,
|
14511 |
| - iterator_t<@\exposid{maybe-const}@<Const, Vs>>...> @\exposid{current_}@; // \expos |
| 14516 | + iterator_t<@\exposidnc{maybe-const}@<Const, Vs>>...> @\exposidnc{current_}@; // \expos |
14512 | 14517 |
|
14513 | 14518 | template<size_t N = sizeof...(Vs)>
|
14514 |
| - constexpr void @\exposid{next}@(); // \expos |
| 14519 | + constexpr void @\exposidnc{next}@(); // \expos |
14515 | 14520 |
|
14516 | 14521 | template<size_t N = sizeof...(Vs)>
|
14517 |
| - constexpr void @\exposid{prev}@(); // \expos |
| 14522 | + constexpr void @\exposidnc{prev}@(); // \expos |
14518 | 14523 |
|
14519 | 14524 | template<class Tuple>
|
14520 |
| - constexpr difference_type @\exposid{distance-from}@(Tuple t); // \expos |
| 14525 | + constexpr difference_type @\exposidnc{distance-from}@(Tuple t); // \expos |
14521 | 14526 |
|
14522 |
| - constexpr explicit @\exposid{iterator}@(tuple<iterator_t<@\exposid{maybe-const}@<Const, First>>, |
14523 |
| - iterator_t<@\exposid{maybe-const}@<Const, Vs>>...> current); // \expos |
| 14527 | + constexpr @\exposid{iterator}@(@\exposid{Parent}@& parent, tuple<iterator_t<@\exposid{maybe-const}@<Const, First>>, |
| 14528 | + iterator_t<@\exposidnc{maybe-const}@<Const, Vs>>...> current); // \expos |
14524 | 14529 | };
|
14525 | 14530 | }
|
14526 | 14531 | \end{codeblock}
|
@@ -14633,14 +14638,16 @@
|
14633 | 14638 | \end{itemdescr}
|
14634 | 14639 |
|
14635 | 14640 | \begin{itemdecl}
|
14636 |
| -constexpr explicit @\exposid{iterator}@(tuple<iterator_t<@\exposid{maybe-const}@<Const, First>>, |
| 14641 | +constexpr @\exposid{iterator}@(@\exposid{Parent}@& parent, tuple<iterator_t<@\exposid{maybe-const}@<Const, First>>, |
14637 | 14642 | iterator_t<@\exposid{maybe-const}@<Const, Vs>>...> current);
|
14638 | 14643 | \end{itemdecl}
|
14639 | 14644 |
|
14640 | 14645 | \begin{itemdescr}
|
14641 | 14646 | \pnum
|
14642 | 14647 | \effects
|
14643 |
| -Initializes \exposid{current_} with \tcode{std::move(current)}. |
| 14648 | +Initializes |
| 14649 | +\exposid{parent_} with \tcode{addressof(parent)} and |
| 14650 | +\exposid{current_} with \tcode{std::move(current)}. |
14644 | 14651 | \end{itemdescr}
|
14645 | 14652 |
|
14646 | 14653 | \begin{itemdecl}
|
|
14652 | 14659 | \begin{itemdescr}
|
14653 | 14660 | \pnum
|
14654 | 14661 | \effects
|
14655 |
| -Initializes \exposid{current_} with \tcode{std::move(i.\exposid{current_})}. |
| 14662 | +Initializes |
| 14663 | +\exposid{parent_} with \tcode{i.\exposid{parent_}} and |
| 14664 | +\exposid{current_} with \tcode{std::move(i.\exposid{current_})}. |
14656 | 14665 | \end{itemdescr}
|
14657 | 14666 |
|
14658 | 14667 | \begin{itemdecl}
|
|
0 commit comments