tmp/tmpcebtnknn/{from.md → to.md}
RENAMED
|
@@ -1,33 +1,32 @@
|
|
| 1 |
### Overview <a id="iostream.objects.overview">[[iostream.objects.overview]]</a>
|
| 2 |
|
| 3 |
In this Clause, the type name `FILE` refers to the type `FILE` declared
|
| 4 |
-
in `<cstdio>`
|
| 5 |
|
| 6 |
The header `<iostream>` declares objects that associate objects with the
|
| 7 |
-
standard C streams provided for by the functions declared in
|
| 8 |
-
|
| 9 |
-
these objects.
|
| 10 |
|
| 11 |
The objects are constructed and the associations are established at some
|
| 12 |
time prior to or during the first time an object of class
|
| 13 |
`ios_base::Init` is constructed, and in any case before the body of
|
| 14 |
-
`main`
|
| 15 |
destroyed during program execution.[^3] The results of including
|
| 16 |
`<iostream>` in a translation unit shall be as if `<iostream>` defined
|
| 17 |
an instance of `ios_base::Init` with static storage duration.
|
| 18 |
|
| 19 |
Mixing operations on corresponding wide- and narrow-character streams
|
| 20 |
follows the same semantics as mixing such operations on `FILE`s, as
|
| 21 |
specified in the C standard library.
|
| 22 |
|
| 23 |
-
Concurrent access to a synchronized
|
| 24 |
-
iostream object’s formatted and unformatted input
|
| 25 |
-
|
| 26 |
-
|
| 27 |
|
| 28 |
[*Note 1*: Users must still synchronize concurrent use of these objects
|
| 29 |
and streams by multiple threads if they wish to avoid interleaved
|
| 30 |
characters. — *end note*]
|
| 31 |
|
| 32 |
-
|
| 33 |
|
|
|
|
| 1 |
### Overview <a id="iostream.objects.overview">[[iostream.objects.overview]]</a>
|
| 2 |
|
| 3 |
In this Clause, the type name `FILE` refers to the type `FILE` declared
|
| 4 |
+
in `<cstdio>`.
|
| 5 |
|
| 6 |
The header `<iostream>` declares objects that associate objects with the
|
| 7 |
+
standard C streams provided for by the functions declared in `<cstdio>`,
|
| 8 |
+
and includes all the headers necessary to use these objects.
|
|
|
|
| 9 |
|
| 10 |
The objects are constructed and the associations are established at some
|
| 11 |
time prior to or during the first time an object of class
|
| 12 |
`ios_base::Init` is constructed, and in any case before the body of
|
| 13 |
+
`main` [[basic.start.main]] begins execution.[^2] The objects are not
|
| 14 |
destroyed during program execution.[^3] The results of including
|
| 15 |
`<iostream>` in a translation unit shall be as if `<iostream>` defined
|
| 16 |
an instance of `ios_base::Init` with static storage duration.
|
| 17 |
|
| 18 |
Mixing operations on corresponding wide- and narrow-character streams
|
| 19 |
follows the same semantics as mixing such operations on `FILE`s, as
|
| 20 |
specified in the C standard library.
|
| 21 |
|
| 22 |
+
Concurrent access to a synchronized [[ios.members.static]] standard
|
| 23 |
+
iostream object’s formatted and unformatted input [[istream]] and output
|
| 24 |
+
[[ostream]] functions or a standard C stream by multiple threads does
|
| 25 |
+
not result in a data race [[intro.multithread]].
|
| 26 |
|
| 27 |
[*Note 1*: Users must still synchronize concurrent use of these objects
|
| 28 |
and streams by multiple threads if they wish to avoid interleaved
|
| 29 |
characters. — *end note*]
|
| 30 |
|
| 31 |
+
See also: ISO C 7.21.2
|
| 32 |
|