Skip to content

[utility.arg.requirements] reformat in a style like [container.reqmts] - #9142

Open
notdanhan wants to merge 1 commit into
cplusplus:mainfrom
notdanhan:utility_arg_requirements
Open

[utility.arg.requirements] reformat in a style like [container.reqmts]#9142
notdanhan wants to merge 1 commit into
cplusplus:mainfrom
notdanhan:utility_arg_requirements

Conversation

@notdanhan

Copy link
Copy Markdown
Contributor

It looks like this now

image

Additional work was needed to change some \tref{} to \iref{} across the document, along with two reflows of paragraphs to stop hbox badness

I did some mild rewording in source/lib-intro.tex to make it make sense in the new format. I hope to have not introduced any wording defects! :)

Comment thread source/lib-intro.tex
Comment on lines +1839 to +1840
\result
\tcode{decltype(a == b)} models \exposconceptx{boolean-testa\-ble}{boolean-testable}

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we need to say decltype(expr) in Result? I think Result is already specifying the result type and value category of the expression in decltype-style.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm actually not sure, should I just keep the exposition concept here?

@tkoeppe
tkoeppe requested review from jensmaurer and jwakely and removed request for frederick-vs-ja June 22, 2026 17:02
@tkoeppe

tkoeppe commented Jun 22, 2026

Copy link
Copy Markdown
Contributor

This is awesome, thank you very much, @notdanhan!

Comment thread source/lib-intro.tex Outdated
Comment thread source/lib-intro.tex Outdated
Comment thread source/lib-intro.tex Outdated
Comment thread source/threads.tex
Comment thread source/threads.tex Outdated
Comment thread source/threads.tex Outdated
Comment thread source/numerics.tex Outdated
Comment thread source/time.tex Outdated
Comment thread source/utilities.tex Outdated
@tkoeppe

tkoeppe commented Jul 17, 2026

Copy link
Copy Markdown
Contributor

@notdanhan do also feel free to sqash, rebase and force-submit at some point. Having the full edit history isn't so important at this point.

Comment thread source/lib-intro.tex Outdated
Comment thread source/lib-intro.tex
Comment thread source/lib-intro.tex
@notdanhan
notdanhan force-pushed the utility_arg_requirements branch from d0cfaa5 to 91eeb2e Compare July 28, 2026 22:27
@notdanhan

notdanhan commented Jul 28, 2026

Copy link
Copy Markdown
Contributor Author

Notes:
In order to prevent hbox badness caused by \iref for very long clause names, I reordered Cpp17Requirements in the same paragraph, I'd assume this would not change the semantic requirements but if that's a no-no I will return them to their former order

Comment thread source/utilities.tex
with \tcode{Key} as the function call argument type,
the \oldconcept{DefaultConstructible} requirements\iref{cpp17.defaultconstructible},
the \oldconcept{Swappable} requirements\iref{swappable.requirements},
the \oldconcept{CopyAssignable} requirements~\iref{cpp17.copyassignable},

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this was moved to the end to stop hbox badness

Comment thread source/time.tex
meet the \oldconcept{EqualityComparable} (\tref{cpp17.equalitycomparable}) and
\oldconcept{LessThanComparable} (\tref{cpp17.lessthancomparable})
and \oldconcept{Swappable}\iref{swappable.requirements}
meet the \oldconcept{Swappable}\iref{swappable.requirements} and

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Swappable and EqualityComparable were swapped to avoid hbox badness

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants