tmp/tmpmwz0zlfp/{from.md → to.md}
RENAMED
|
@@ -0,0 +1,21 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
### [[input.output]]: input/output library <a id="diff.cpp23.io">[[diff.cpp23.io]]</a>
|
| 2 |
+
|
| 3 |
+
**Change:** Overloaded `std::basic_istream<char, traits>::ignore`.
|
| 4 |
+
**Rationale:** Allow `char` values to be used as delimiters. **Effect on
|
| 5 |
+
original feature:** Calls to `istream::ignore` with a second argument of
|
| 6 |
+
`char` type can change behavior. Calls to `istream::ignore` with a
|
| 7 |
+
second argument that is neither `int` nor `char` type can become
|
| 8 |
+
ill-formed.
|
| 9 |
+
|
| 10 |
+
[*Example 1*:
|
| 11 |
+
|
| 12 |
+
``` cpp
|
| 13 |
+
std::istringstream in("\xF0\x9F\xA4\xA1 Clown Face");
|
| 14 |
+
in.ignore(100, '\xA1'); // ignore up to '{xA1'} delimiter,
|
| 15 |
+
// previously might have ignored to EOF
|
| 16 |
+
in.ignore(100, -1L); // ambiguous overload,
|
| 17 |
+
// previously equivalent to (int)-1L
|
| 18 |
+
```
|
| 19 |
+
|
| 20 |
+
— *end example*]
|
| 21 |
+
|