Section: 31.10.4.4 [ifstream.members], 31.10.5.4 [ofstream.members] Status: NAD Editorial Submitter: Daniel Krügler Opened: 2007-02-20 Last modified: 2016-01-28
Priority: Not Prioritized
View all other issues in [ifstream.members].
View all issues with NAD Editorial status.
Discussion:
The standard wording of N2134 has extended the 14882:2003(E) wording for the ifstream/ofstream/fstream open function to fix a long standing problem, see 409.
Now it's properly written as
"If that function does not return a null pointer calls clear(), otherwise calls setstate(failbit)[..]"
instead of the previous
"If that function returns a null pointer, calls setstate(failbit)[..]
While the old footnotes saying
"A successful open does not change the error state."
where correct and important, they are invalid now for ifstream and ofstream (because clear *does* indeed modify the error state) and should be removed (Interestingly fstream itself never had these, although they where needed for that time).
Proposed resolution:
In 31.10.4.4 [ifstream.members], remove footnote:
334) A successful open does not change the error state.
In 31.10.5.4 [ofstream.members], remove footnote:
335) A successful open does not change the error state.