From Jason Turner

[iostream.objects.overview]

Diff to HTML by rtfpessoa

Files changed (1) hide show
  1. tmp/tmpcebtnknn/{from.md → to.md} +9 -10
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>` ([[cstdio.syn]]).
5
 
6
  The header `<iostream>` declares objects that associate objects with the
7
- standard C streams provided for by the functions declared in
8
- `<cstdio>` ([[c.files]]), and includes all the headers necessary to use
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` ([[basic.start.main]]) begins execution.[^2] The objects are not
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 ([[ios.members.static]]) standard
24
- iostream object’s formatted and unformatted input ([[istream]]) and
25
- output ([[ostream]]) functions or a standard C stream by multiple
26
- threads shall not result in a data race ([[intro.multithread]]).
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
-  ISO C 7.21.2.
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