Skip to content
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

Restructuring clauses for C++26 #5315

Open
jensmaurer opened this issue Feb 23, 2022 · 5 comments
Open

Restructuring clauses for C++26 #5315

jensmaurer opened this issue Feb 23, 2022 · 5 comments
Milestone

Comments

@jensmaurer
Copy link
Member

jensmaurer commented Feb 23, 2022

See #2252 [basic] before [lex]

Maybe also move the preprocessor section near lex or merge both into a new "lexical processing" clause.

[basic] has some details that need to move later, e.g. allocation/deallocation function details should go to "Declarations".

Operator overloading [over.oper] should partially move to [expr] and to "Declarations".

Isn't "[charconv] Primitive numeric conversions" a good fit for Clause 26 "Numerics library"?

keep Utility types: pair, tuple, variant, optional, any, bitset under [utilities], but create a new grouping subclause called "data types".

Maybe put all of locale, regex. std::format under I/O-ish (because locale-using)

Create [text] clause; see #5226 for details.

@JohelEGP
Copy link
Contributor

Isn't "[charconv] Primitive numeric conversions" a good fit for Clause 26 "Numerics library"?

I think so, too. Currently, it's hard to find. It makes more sense than [text], as text can represent more than just numbers.

Maybe put all of locale, regex. std::format under I/O-ish (because locale-using)

I'm not sure. You can use std::format while avoiding the locale-using overloads. I'd lean more to moving it to [text].

@AlisdairM
Copy link
Contributor

[meta] and [concepts] should be adjacent clauses, or [concepts] should become a subclass of [meta] adjacent to [type.traits].

@JohelEGP
Copy link
Contributor

JohelEGP commented Mar 14, 2023

I agree with making [concepts] a subclause. Not much point to a top-level [concepts] if new concepts are, rightfully, placed in more pertinent subclauses. Its title also needs to better reflect that "not all concepts are here!" Perhaps "basic concepts".

@AlisdairM
Copy link
Contributor

Is it time to move the container header synopses closer to where their contents are defined? E.g., [array.syn],[deque.syn],[forward.list.syn],[list.syn], and [vector.syn] are all adjacent at the top of the sequence containers subclause, [sequences], before we start on the definitions in [array] as a sibling node, and similarly for the associative containers, unordered containers, and container adapters. I don't think any other library clause collects header synopses in this way.

@jwakely
Copy link
Member

jwakely commented Mar 22, 2023

Yes, the containers structure is weird.

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

No branches or pull requests

4 participants