-
Notifications
You must be signed in to change notification settings - Fork 769
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
[flat.map.defn] [flat.multimap.defn] Exposition-only markup for "c" and "compare" #5914
Conversation
See #5812. |
This is repeating the same mistakes explained at #5696 (comment). This means that there are many more places left to mark with |
containers c; // \expos | ||
key_compare compare; // \expos | ||
containers \exposid{c}; // \expos | ||
key_compare \exposid{compare}; // \expos | ||
|
||
struct key_equiv { // \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.
I think key_equiv
should also be formatted with \exposid{}
. Perhaps its comp
member should also be considered exposition only, although not strictly needed due to priority_queue
's comp
.
(How about changing to kebab-case and/or eliminating its ctor as aggregate initialization can do the right thing?)
I think we agree we have an inconsistency, but my preference would be to address all of [containers] and add \exposid and kebab-case throughout. However, we should confirm with @tkoeppe and the rest of the editorial group whether we really want that, and then we should strive for a comprehensive patch. |
Before making this PR, I wasn't aware of the apparent controversy here. :) Perhaps there's more to do after this; but the question for me is simply, does anyone claim there's less to do? Right now the formatting is in a "very" inconsistent state, where if you scroll down through https://eel.is/c++draft/flat.map.defn you'll see I can certainly imagine that people want to italicize other expos-only members, like |
@@ -14895,8 +14895,8 @@ | |||
{ x.swap(y); } | |||
|
|||
private: | |||
containers c; // \expos | |||
key_compare compare; // \expos | |||
containers \exposid{c}; // \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.
There was one thing I wasn't sure how to do markup-wise, so I left it alone / out-of-scope: Line 14978 has
Initializes \tcode{c.keys} with \tcode{std::move(key_cont)}
where ideally the c
should be expos-only but the keys
shouldn't.
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.
This is what I meant with #5914 (comment). By convention, marking with \exposid
in the class synopsis is not enough. All uses of those members throughout are marked with \exposid
.
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.
I think you can just use
Initializes \tcode{\exposid{c}.keys} with \tcode{std::move(key_cont)}
Editorial meeting comment: we would like a consistent style across all four new "flat" container adaptors: exposition-only members should be marked up with |
For tangential context: the discussion on how to name exposition-only members is in #4702. |
FWIW, I'm happy to do the grunt work and update this PR if it's helpful, but I wasn't in that meeting and therefore don't really understand what was agreed upon. Would the non-obvious part be like this?
AFAICT the name of |
Abandoning. |
flat_set
already has the correct\exposid
markup.Fixes #5812.