From Jason Turner

[depr.strstreambuf.virtuals]

Diff to HTML by rtfpessoa

tmp/tmproyec350/{from.md → to.md} RENAMED
@@ -21,11 +21,11 @@ available as a result of any call.
21
 
22
  To make a write position available, the function reallocates (or
23
  initially allocates) an array object with a sufficient number of
24
  elements `n` to hold the current array object (if any), plus at least
25
  one additional write position. How many additional write positions are
26
- made available is otherwise unspecified. [^2] If `palloc` is not a null
27
  pointer, the function calls `(*palloc)(n)` to allocate the new dynamic
28
  array object. Otherwise, it evaluates the expression `new charT[n]`. In
29
  either case, if the allocation fails, the function returns `EOF`.
30
  Otherwise, it sets `allocated` in `strmode`.
31
 
@@ -35,10 +35,14 @@ address is `p`: If `pfree` is not a null pointer, the function calls
35
 
36
  If `(strmode & dynamic) == 0`, or if `(strmode & frozen) != 0`, the
37
  function cannot extend the array (reallocate it with greater length) to
38
  make a write position available.
39
 
 
 
 
 
40
  ``` cpp
41
  int_type pbackfail(int_type c = EOF) override;
42
  ```
43
 
44
  Puts back the character designated by `c` to the input sequence, if
@@ -46,12 +50,12 @@ possible, in one of three ways:
46
 
47
  - If `c != EOF`, if the input sequence has a putback position available,
48
  and if `(char)c == gnext[-1]`, assigns `gnext - 1` to `gnext`. Returns
49
  `c`.
50
  - If `c != EOF`, if the input sequence has a putback position available,
51
- and if `strmode & constant` is zero, assigns `c` to `*`\dcr`gnext`.
52
- Returns `c`.
53
  - If `c == EOF` and if the input sequence has a putback position
54
  available, assigns `gnext - 1` to `gnext`. Returns a value other than
55
  `EOF`.
56
 
57
  Returns `EOF` to indicate failure.
 
21
 
22
  To make a write position available, the function reallocates (or
23
  initially allocates) an array object with a sufficient number of
24
  elements `n` to hold the current array object (if any), plus at least
25
  one additional write position. How many additional write positions are
26
+ made available is otherwise unspecified. If `palloc` is not a null
27
  pointer, the function calls `(*palloc)(n)` to allocate the new dynamic
28
  array object. Otherwise, it evaluates the expression `new charT[n]`. In
29
  either case, if the allocation fails, the function returns `EOF`.
30
  Otherwise, it sets `allocated` in `strmode`.
31
 
 
35
 
36
  If `(strmode & dynamic) == 0`, or if `(strmode & frozen) != 0`, the
37
  function cannot extend the array (reallocate it with greater length) to
38
  make a write position available.
39
 
40
+ *Recommended practice:* An implementation should consider `alsize` in
41
+ making the decision how many additional write positions to make
42
+ available.
43
+
44
  ``` cpp
45
  int_type pbackfail(int_type c = EOF) override;
46
  ```
47
 
48
  Puts back the character designated by `c` to the input sequence, if
 
50
 
51
  - If `c != EOF`, if the input sequence has a putback position available,
52
  and if `(char)c == gnext[-1]`, assigns `gnext - 1` to `gnext`. Returns
53
  `c`.
54
  - If `c != EOF`, if the input sequence has a putback position available,
55
+ and if `strmode & constant` is zero, assigns `c` to `*gnext`. Returns
56
+ `c`.
57
  - If `c == EOF` and if the input sequence has a putback position
58
  available, assigns `gnext - 1` to `gnext`. Returns a value other than
59
  `EOF`.
60
 
61
  Returns `EOF` to indicate failure.