From Jason Turner

[stream.buffers]

Diff to HTML by rtfpessoa

Files changed (1) hide show
  1. tmp/tmp0ew72k6g/{from.md → to.md} +30 -2
tmp/tmp0ew72k6g/{from.md → to.md} RENAMED
@@ -434,11 +434,11 @@ void setp(char_type* pbeg, char_type* pend);
434
  #### `basic_streambuf` virtual functions <a id="streambuf.virtuals">[[streambuf.virtuals]]</a>
435
 
436
  ##### Locales <a id="streambuf.virt.locales">[[streambuf.virt.locales]]</a>
437
 
438
  ``` cpp
439
- void imbue(const locale&)
440
  ```
441
 
442
  *Effects:* Change any translations based on locale.
443
 
444
  *Remarks:* Allows the derived class to be informed of changes in locale
@@ -590,11 +590,11 @@ The *pending sequence* is defined as for `underflow()`, with the
590
  modifications that
591
 
592
  - If `traits::eq_int_type(c,traits::eof())` returns `true`, then the
593
  input sequence is backed up one character before the pending sequence
594
  is determined.
595
- - If `traits::eq_int_type(c,traits::eof())` return false, then `c` is
596
  prepended. Whether the input sequence is backed up or modified in any
597
  other way is unspecified.
598
 
599
  On return, the constraints of `gptr()`, `eback()`, and `pptr()` are the
600
  same as for `underflow()`.
@@ -612,9 +612,37 @@ Returns some value other than `traits::eof()` to indicate success.
612
 
613
  ``` cpp
614
  streamsize xsputn(const char_type* s, streamsize n);
615
  ```
616
 
 
 
 
 
 
 
 
 
 
 
617
  ``` cpp
618
  int_type overflow(int_type c = traits::eof());
619
  ```
620
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
434
  #### `basic_streambuf` virtual functions <a id="streambuf.virtuals">[[streambuf.virtuals]]</a>
435
 
436
  ##### Locales <a id="streambuf.virt.locales">[[streambuf.virt.locales]]</a>
437
 
438
  ``` cpp
439
+ void imbue(const locale&);
440
  ```
441
 
442
  *Effects:* Change any translations based on locale.
443
 
444
  *Remarks:* Allows the derived class to be informed of changes in locale
 
590
  modifications that
591
 
592
  - If `traits::eq_int_type(c,traits::eof())` returns `true`, then the
593
  input sequence is backed up one character before the pending sequence
594
  is determined.
595
+ - If `traits::eq_int_type(c,traits::eof())` returns `false`, then `c` is
596
  prepended. Whether the input sequence is backed up or modified in any
597
  other way is unspecified.
598
 
599
  On return, the constraints of `gptr()`, `eback()`, and `pptr()` are the
600
  same as for `underflow()`.
 
612
 
613
  ``` cpp
614
  streamsize xsputn(const char_type* s, streamsize n);
615
  ```
616
 
617
+ *Effects:* Writes up to `n` characters to the output sequence as if by
618
+ repeated calls to `sputc(c)`. The characters written are obtained from
619
+ successive elements of the array whose first element is designated by
620
+ `s`. Writing stops when either `n` characters have been written or a
621
+ call to `sputc(c)` would return `traits::eof()`. Is is unspecified
622
+ whether the function calls `overflow()` when `pptr() == epptr()` becomes
623
+ true or whether it achieves the same effects by other means.
624
+
625
+ *Returns:* The number of characters written.
626
+
627
  ``` cpp
628
  int_type overflow(int_type c = traits::eof());
629
  ```
630
 
631
+ *Effects:* Consumes some initial subsequence of the characters of the
632
+ *pending sequence*. The pending sequence is defined as the concatenation
633
+ of
634
+
635
+ *Remarks:* The member functions `sputc()` and `sputn()` call this
636
+ function in case that no room can be found in the put buffer enough to
637
+ accommodate the argument character sequence.
638
+
639
+ *Requires:* Every overriding definition of this virtual function shall
640
+ obey the following constraints:
641
+
642
+ *Returns:* `traits::eof()` or throws an exception if the function fails.
643
+
644
+ Otherwise, returns some value other than `traits::eof()` to indicate
645
+ success.[^16]
646
+
647
+ *Default behavior:* Returns `traits::eof()`.
648
+