From Jason Turner

[streambuf.virt.get]

Diff to HTML by rtfpessoa

Files changed (1) hide show
  1. tmp/tmpb_zx6kff/{from.md → to.md} +22 -6
tmp/tmpb_zx6kff/{from.md → to.md} RENAMED
@@ -40,22 +40,38 @@ function only if `gptr()` is null or `gptr() >= egptr()`
40
  *Returns:* `traits::to_int_type(c)`, where `c` is the first *character*
41
  of the *pending sequence*, without moving the input sequence position
42
  past it. If the pending sequence is null then the function returns
43
  `traits::eof()` to indicate failure.
44
 
45
- The *pending sequence* of characters is defined as the concatenation of:
46
 
47
- The *result character* is
 
 
 
48
 
49
- The *backup sequence* is defined as the concatenation of:
 
 
50
 
51
- *Effects:* The function sets up the `gptr()` and `egptr()` satisfying
52
- one of:
 
 
 
 
 
53
 
54
  If `eback()` and `gptr()` are non-null then the function is not
55
  constrained as to their contents, but the “usual backup condition” is
56
- that either:
 
 
 
 
 
 
57
 
58
  *Default behavior:* Returns `traits::eof()`.
59
 
60
  ``` cpp
61
  int_type uflow();
 
40
  *Returns:* `traits::to_int_type(c)`, where `c` is the first *character*
41
  of the *pending sequence*, without moving the input sequence position
42
  past it. If the pending sequence is null then the function returns
43
  `traits::eof()` to indicate failure.
44
 
45
+ The *pending sequence* of characters is defined as the concatenation of
46
 
47
+ - the empty sequence if `gptr()` is null, otherwise the characters in
48
+ \[`gptr()`, `egptr()`), followed by
49
+ - some (possibly empty) sequence of characters read from the input
50
+ sequence.
51
 
52
+ The *result character* is the first character of the pending sequence if
53
+ it is non-empty, otherwise the next character that would be read from
54
+ the input sequence.
55
 
56
+ The *backup sequence* is the empty sequence if `eback()` is null,
57
+ otherwise the characters in \[`eback()`, `gptr()`).
58
+
59
+ *Effects:* The function sets up the `gptr()` and `egptr()` such that if
60
+ the pending sequence is non-empty, then `egptr()` is non-null and the
61
+ characters in \[`gptr()`, `egptr()`) are the characters in the pending
62
+ sequence, otherwise either `gptr()` is null or `gptr() == egptr()`.
63
 
64
  If `eback()` and `gptr()` are non-null then the function is not
65
  constrained as to their contents, but the “usual backup condition” is
66
+ that either
67
+
68
+ - the backup sequence contains at least `gptr() - eback()` characters,
69
+ in which case the characters in \[`eback()`, `gptr()`) agree with the
70
+ last `gptr() - eback()` characters of the backup sequence, or
71
+ - the characters in \[`gptr() - n`, `gptr()`) agree with the backup
72
+ sequence (where `n` is the length of the backup sequence).
73
 
74
  *Default behavior:* Returns `traits::eof()`.
75
 
76
  ``` cpp
77
  int_type uflow();