New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[range.join.iterator, range.join.with.iterator] Add InnerBase
and replace more OuterIter/InnerIter
#5478
base: main
Are you sure you want to change the base?
Conversation
…eplace more `OuterIter/InnerIter`
source/ranges.tex
Outdated
@@ -5809,11 +5810,11 @@ | |||
\begin{itemize} | |||
\item If \exposid{ref-is-glvalue} is \tcode{true}, | |||
\exposid{Base} models \libconcept{bidirectional_range}, and | |||
\tcode{range_reference_t<\exposid{Base}>} models | |||
both \libconcept{bidirectional_range} and \libconcept{common_range}, | |||
\tcode{\exposid{InnerBase}} models |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
\tcode{\exposid{InnerBase}} models | |
\exposid{InnerBase} models |
source/ranges.tex
Outdated
then \tcode{iterator_concept} denotes \tcode{bidirectio\-nal_iterator_tag}. | ||
\item Otherwise, if \exposid{ref-is-glvalue} is \tcode{true} and | ||
\exposid{Base} and \tcode{range_reference_t<\exposid{Base}>} | ||
\exposid{Base} and \tcode{\exposid{InnerBase}} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
\exposid{Base} and \tcode{\exposid{InnerBase}} | |
\exposid{Base} and \exposid{InnerBase} |
source/ranges.tex
Outdated
@@ -5741,11 +5741,12 @@ | |||
private: | |||
using @\exposidnc{Parent}@ = @\exposidnc{maybe-const}@<Const, join_view>; // \expos | |||
using @\exposidnc{Base}@ = @\exposidnc{maybe-const}@<Const, V>; // \expos | |||
using @\exposidnc{InnerBase}@ = range_reference_t<@\exposid{Base}@>; // \expos |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
using @\exposidnc{InnerBase}@ = range_reference_t<@\exposid{Base}@>; // \expos | |
using @\exposidnc{InnerBase}@ = range_reference_t<@\exposidnc{Base}@>; // \expos |
Not really necessary, but consistent, I guess.
source/ranges.tex
Outdated
\tcode{range_reference_t<\exposid{Base}>} models | ||
both \libconcept{bidirectional_range} and \libconcept{common_range}, | ||
\tcode{\exposid{InnerBase}} models | ||
both \libconcept{bidire\-ctional_range} and \libconcept{common_range}, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It this the correct place to break? Shouldn't it be after the "c"?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yep, the check will fail if after "c".
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We don't violate English hyphenation rules. Try breaking even earlier.
source/ranges.tex
Outdated
@@ -5823,18 +5824,18 @@ | |||
The member \grammarterm{typedef-name} \tcode{iterator_category} is defined | |||
if and only if \exposid{ref-is-glvalue} is \tcode{true}, | |||
\exposid{Base} models \libconcept{forward_range}, and | |||
\tcode{range_reference_t<\exposid{Base}>} models \libconcept{forward_range}. | |||
\tcode{\exposid{InnerBase}} models \libconcept{forward_range}. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
\tcode{\exposid{InnerBase}} models \libconcept{forward_range}. | |
\exposid{InnerBase} models \libconcept{forward_range}. |
source/ranges.tex
Outdated
\item If | ||
\placeholder{OUTERC} and \placeholder{INNERC} each model | ||
\tcode{\libconcept{derived_from}<bidirectional_iterator_tag>} and | ||
\tcode{range_reference_t<\exposid{Base}>} models \libconcept{common_range}, | ||
\tcode{\exposid{InnerBase}} models \libconcept{common_range}, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
\tcode{\exposid{InnerBase}} models \libconcept{common_range}, | |
\exposid{InnerBase} models \libconcept{common_range}, |
It looks fine for me now, thanks for the review. |
@hewillk This PR needs some attention. |
This is basically a follow-up to #5474, which mainly does three things
InnerBase
forjoin_view::iterator
to be consistent withjoin_with_view::iterator
.InnerIter
/OuterIter
forjoin_view::iterator
.OuterIter
forjoin_with_view::iterator
and corrected the italics forBase
inusing InnerBase = range_reference_t<Base>;
.Hope there are no errors.