From Jason Turner

[streambuf]

Diff to HTML by rtfpessoa

Files changed (1) hide show
  1. tmp/tmpes018xvl/{from.md → to.md} +30 -2
tmp/tmpes018xvl/{from.md → to.md} RENAMED
@@ -367,11 +367,11 @@ void setp(char_type* pbeg, char_type* pend);
367
  #### `basic_streambuf` virtual functions <a id="streambuf.virtuals">[[streambuf.virtuals]]</a>
368
 
369
  ##### Locales <a id="streambuf.virt.locales">[[streambuf.virt.locales]]</a>
370
 
371
  ``` cpp
372
- void imbue(const locale&)
373
  ```
374
 
375
  *Effects:* Change any translations based on locale.
376
 
377
  *Remarks:* Allows the derived class to be informed of changes in locale
@@ -523,11 +523,11 @@ The *pending sequence* is defined as for `underflow()`, with the
523
  modifications that
524
 
525
  - If `traits::eq_int_type(c,traits::eof())` returns `true`, then the
526
  input sequence is backed up one character before the pending sequence
527
  is determined.
528
- - If `traits::eq_int_type(c,traits::eof())` return false, then `c` is
529
  prepended. Whether the input sequence is backed up or modified in any
530
  other way is unspecified.
531
 
532
  On return, the constraints of `gptr()`, `eback()`, and `pptr()` are the
533
  same as for `underflow()`.
@@ -545,9 +545,37 @@ Returns some value other than `traits::eof()` to indicate success.
545
 
546
  ``` cpp
547
  streamsize xsputn(const char_type* s, streamsize n);
548
  ```
549
 
 
 
 
 
 
 
 
 
 
 
550
  ``` cpp
551
  int_type overflow(int_type c = traits::eof());
552
  ```
553
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
367
  #### `basic_streambuf` virtual functions <a id="streambuf.virtuals">[[streambuf.virtuals]]</a>
368
 
369
  ##### Locales <a id="streambuf.virt.locales">[[streambuf.virt.locales]]</a>
370
 
371
  ``` cpp
372
+ void imbue(const locale&);
373
  ```
374
 
375
  *Effects:* Change any translations based on locale.
376
 
377
  *Remarks:* Allows the derived class to be informed of changes in locale
 
523
  modifications that
524
 
525
  - If `traits::eq_int_type(c,traits::eof())` returns `true`, then the
526
  input sequence is backed up one character before the pending sequence
527
  is determined.
528
+ - If `traits::eq_int_type(c,traits::eof())` returns `false`, then `c` is
529
  prepended. Whether the input sequence is backed up or modified in any
530
  other way is unspecified.
531
 
532
  On return, the constraints of `gptr()`, `eback()`, and `pptr()` are the
533
  same as for `underflow()`.
 
545
 
546
  ``` cpp
547
  streamsize xsputn(const char_type* s, streamsize n);
548
  ```
549
 
550
+ *Effects:* Writes up to `n` characters to the output sequence as if by
551
+ repeated calls to `sputc(c)`. The characters written are obtained from
552
+ successive elements of the array whose first element is designated by
553
+ `s`. Writing stops when either `n` characters have been written or a
554
+ call to `sputc(c)` would return `traits::eof()`. Is is unspecified
555
+ whether the function calls `overflow()` when `pptr() == epptr()` becomes
556
+ true or whether it achieves the same effects by other means.
557
+
558
+ *Returns:* The number of characters written.
559
+
560
  ``` cpp
561
  int_type overflow(int_type c = traits::eof());
562
  ```
563
 
564
+ *Effects:* Consumes some initial subsequence of the characters of the
565
+ *pending sequence*. The pending sequence is defined as the concatenation
566
+ of
567
+
568
+ *Remarks:* The member functions `sputc()` and `sputn()` call this
569
+ function in case that no room can be found in the put buffer enough to
570
+ accommodate the argument character sequence.
571
+
572
+ *Requires:* Every overriding definition of this virtual function shall
573
+ obey the following constraints:
574
+
575
+ *Returns:* `traits::eof()` or throws an exception if the function fails.
576
+
577
+ Otherwise, returns some value other than `traits::eof()` to indicate
578
+ success.[^16]
579
+
580
+ *Default behavior:* Returns `traits::eof()`.
581
+