From Jason Turner

[ostream.formatted.reqmts]

Diff to HTML by rtfpessoa

Files changed (1) hide show
  1. tmp/tmp_zbw85a9/{from.md → to.md} +11 -2
tmp/tmp_zbw85a9/{from.md → to.md} RENAMED
@@ -4,14 +4,23 @@ Each formatted output function begins execution by constructing an
4
  object of class `sentry`. If this object returns `true` when converted
5
  to a value of type `bool`, the function endeavors to generate the
6
  requested output. If the generation fails, then the formatted output
7
  function does `setstate(ios_base::failbit)`, which might throw an
8
  exception. If an exception is thrown during output, then `ios::badbit`
9
- is turned on[^31] in `*this`’s error state. If
10
  `(exceptions()&badbit) != 0` then the exception is rethrown. Whether or
11
  not an exception is thrown, the `sentry` object is destroyed before
12
  leaving the formatted output function. If no exception is thrown, the
13
  result of the formatted output function is `*this`.
14
 
15
- The descriptions of the individual formatted output operations describe
16
  how they perform output and do not mention the `sentry` object.
17
 
 
 
 
 
 
 
 
 
 
 
4
  object of class `sentry`. If this object returns `true` when converted
5
  to a value of type `bool`, the function endeavors to generate the
6
  requested output. If the generation fails, then the formatted output
7
  function does `setstate(ios_base::failbit)`, which might throw an
8
  exception. If an exception is thrown during output, then `ios::badbit`
9
+ is turned on[^32] in `*this`’s error state. If
10
  `(exceptions()&badbit) != 0` then the exception is rethrown. Whether or
11
  not an exception is thrown, the `sentry` object is destroyed before
12
  leaving the formatted output function. If no exception is thrown, the
13
  result of the formatted output function is `*this`.
14
 
15
+ The descriptions of the individual formatted output functions describe
16
  how they perform output and do not mention the `sentry` object.
17
 
18
+ If a formatted output function of a stream `os` determines padding, it
19
+ does so as follows. Given a `charT` character sequence `seq` where
20
+ `charT` is the character type of the stream, if the length of `seq` is
21
+ less than `os.width()`, then enough copies of `os.fill()` are added to
22
+ this sequence as necessary to pad to a width of `os.width()` characters.
23
+ If `(os.flags() & ios_base::adjustfield) == ios_base::left` is `true`,
24
+ the fill characters are placed after the character sequence; otherwise,
25
+ they are placed before the character sequence.
26
+