This commit is contained in:
2025-10-25 03:02:53 +03:00
commit 043225d523
3416 changed files with 681196 additions and 0 deletions

82
cppdraft/ofstream/cons.md Normal file
View File

@@ -0,0 +1,82 @@
[ofstream.cons]
# 31 Input/output library [[input.output]](./#input.output)
## 31.10 File-based streams [[file.streams]](file.streams#ofstream.cons)
### 31.10.5 Class template basic_ofstream [[ofstream]](ofstream#cons)
#### 31.10.5.2 Constructors [ofstream.cons]
[🔗](#lib:basic_ofstream,constructor)
`basic_ofstream();
`
[1](#1)
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/iostreams.tex#L12102)
*Effects*: Initializes the base class withbasic_ostream<charT, traits>(addressof(*sb*)) ([[ostream.cons]](ostream.cons "31.7.6.2.2Constructors"))
and *sb* withbasic_filebuf<charT, traits>() ([[filebuf.cons]](filebuf.cons "31.10.3.2Constructors"))[.](#1.sentence-1)
[🔗](#lib:basic_ofstream,constructor_)
`explicit basic_ofstream(const char* s,
ios_base::openmode mode = ios_base::out);
explicit basic_ofstream(const filesystem::path::value_type* s,
ios_base::openmode mode = ios_base::out); // wide systems only; see [[fstream.syn]](fstream.syn "31.10.1Header <fstream> synopsis")
`
[2](#2)
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/iostreams.tex#L12119)
*Effects*: Initializes the base class withbasic_ostream<charT, traits>(addressof(*sb*)) ([[ostream.cons]](ostream.cons "31.7.6.2.2Constructors"))
and *sb* withbasic_filebuf<charT, traits>() ([[filebuf.cons]](filebuf.cons "31.10.3.2Constructors")),
then callsrdbuf()->open(s, mode | ios_base::out)[.](#2.sentence-1)
If that function returns a null pointer, callssetstate(failbit)[.](#2.sentence-2)
[🔗](#lib:basic_ofstream,constructor__)
`explicit basic_ofstream(const string& s,
ios_base::openmode mode = ios_base::out);
`
[3](#3)
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/iostreams.tex#L12138)
*Effects*: Equivalent to basic_ofstream(s.c_str(), mode)[.](#3.sentence-1)
[🔗](#lib:basic_ofstream,constructor___)
`template<class T>
explicit basic_ofstream(const T& s, ios_base::openmode mode = ios_base::out);
`
[4](#4)
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/iostreams.tex#L12150)
*Constraints*: is_same_v<T, filesystem::path> is true[.](#4.sentence-1)
[5](#5)
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/iostreams.tex#L12154)
*Effects*: Equivalent to basic_ofstream(s.c_str(), mode)[.](#5.sentence-1)
[🔗](#lib:basic_ofstream,constructor____)
`basic_ofstream(basic_ofstream&& rhs);
`
[6](#6)
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/iostreams.tex#L12165)
*Effects*: Move constructs the base class, and the contained basic_filebuf[.](#6.sentence-1)
Then calls basic_ostream<charT, traits>::set_rdbuf(addressof(*sb*)) to install the contained basic_filebuf[.](#6.sentence-2)