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

[file.streams] Change sub-clauses to rSec2, similar to [string.streams] #385

Merged
merged 2 commits into from Mar 7, 2016

Conversation

jwakely
Copy link
Member

@jwakely jwakely commented Sep 23, 2014

[string.streams] and [file.streams] follow very similar structure (an introduction followed by streambuf, input stream, output stream and bidirectional stream class templates) but are nested entirely differently. Under [fstreams] we have an entirely flat hierarchy where the definition of basic_streambuf is at the same level as its own members.

This change makes [file.streams] consistent with [string.streams] by promoting [filebuf], [ifstream], [ofstream] and [fstream] to rSec2.

Also promote [c.files] to rSec1, I don't think <cstdint> should be nested underneath the sub-clause for basic_fstreambuf and basic_fstream etc.

@jwakely
Copy link
Member Author

jwakely commented Sep 23, 2014

@zygoloid, are you OK with this change? IMHO only the [c.files] relocation is non-obvious.

@zygoloid
Copy link
Member

I agree that promoting [filebuf], [ifstream], [ofstream] and [fstream] to rSec2 is a good idea. For consistency with [string.streams], [iostream.format], and so on, please also rename [fstreams] from "File streams" to "Overview".

Promoting [filebuf] to rSec2 breaks the intent of [fstreams]/2, which should probably also be moved elsewhere. Since FILE is also used in [iostream.objects.overview] and [filebuf], I think it belongs in [input.output.general], with 's/subclause/Clause' applied.

The [c.files] change needs a corresponding change to Table 121, and we'll need to check for other cross references that assume <cinttypes> and <cstdio> are described within [file.streams].

@jwakely
Copy link
Member Author

jwakely commented Apr 1, 2015

I've pushed another commit to the branch with the requested changes. I moved [fstreams]/2 before the existing paragraphs in [iostream.objects.overview](but after the synopsis) as it didn't seem to make sense elsewhere in that sub-clause.
I didn't find any other references to [file.streams] or <cstdio> or <cinttypes> that should be changed to [c.files].

@tkoeppe
Copy link
Contributor

tkoeppe commented Apr 3, 2015

Can the commits be rebased to remove the merge?

@jwakely
Copy link
Member Author

jwakely commented Apr 3, 2015

@tkoeppe ok, although I was going to do that locally before committing, so that the recent update here only showed the second commit, de69b1f, (and the merge) with the changes Richard had requested. Now both are shown as added, even though the content of 98ca118 is identical to the earlier b32725d

@tkoeppe
Copy link
Contributor

tkoeppe commented Dec 2, 2015

@zygoloid: Ping

zygoloid added a commit that referenced this pull request Mar 7, 2016
[file.streams] Change sub-clauses to rSec2, similar to [string.streams]
@zygoloid zygoloid merged commit c96c22a into cplusplus:master Mar 7, 2016
@jwakely jwakely deleted the fstream-nesting branch November 23, 2017 20:12
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.

None yet

3 participants