tmp/tmp44zjzcxn/{from.md → to.md}
RENAMED
|
@@ -15,75 +15,89 @@ namespace std {
|
|
| 15 |
|
| 16 |
constexpr intmax_t abs(intmax_t); // optional, see below
|
| 17 |
constexpr imaxdiv_t div(intmax_t, intmax_t); // optional, see below
|
| 18 |
}
|
| 19 |
|
|
|
|
|
|
|
| 20 |
#define PRIdN see below
|
| 21 |
#define PRIiN see below
|
| 22 |
#define PRIoN see below
|
| 23 |
#define PRIuN see below
|
| 24 |
#define PRIxN see below
|
| 25 |
#define PRIXN see below
|
|
|
|
|
|
|
| 26 |
#define SCNdN see below
|
| 27 |
#define SCNiN see below
|
| 28 |
#define SCNoN see below
|
| 29 |
#define SCNuN see below
|
| 30 |
#define SCNxN see below
|
|
|
|
| 31 |
#define PRIdLEASTN see below
|
| 32 |
#define PRIiLEASTN see below
|
| 33 |
#define PRIoLEASTN see below
|
| 34 |
#define PRIuLEASTN see below
|
| 35 |
#define PRIxLEASTN see below
|
| 36 |
#define PRIXLEASTN see below
|
|
|
|
|
|
|
| 37 |
#define SCNdLEASTN see below
|
| 38 |
#define SCNiLEASTN see below
|
| 39 |
#define SCNoLEASTN see below
|
| 40 |
#define SCNuLEASTN see below
|
| 41 |
#define SCNxLEASTN see below
|
|
|
|
| 42 |
#define PRIdFASTN see below
|
| 43 |
#define PRIiFASTN see below
|
| 44 |
#define PRIoFASTN see below
|
| 45 |
#define PRIuFASTN see below
|
| 46 |
#define PRIxFASTN see below
|
| 47 |
#define PRIXFASTN see below
|
|
|
|
|
|
|
| 48 |
#define SCNdFASTN see below
|
| 49 |
#define SCNiFASTN see below
|
| 50 |
#define SCNoFASTN see below
|
| 51 |
#define SCNuFASTN see below
|
| 52 |
#define SCNxFASTN see below
|
|
|
|
| 53 |
#define PRIdMAX see below
|
| 54 |
#define PRIiMAX see below
|
| 55 |
#define PRIoMAX see below
|
| 56 |
#define PRIuMAX see below
|
| 57 |
#define PRIxMAX see below
|
| 58 |
#define PRIXMAX see below
|
|
|
|
|
|
|
| 59 |
#define SCNdMAX see below
|
| 60 |
#define SCNiMAX see below
|
| 61 |
#define SCNoMAX see below
|
| 62 |
#define SCNuMAX see below
|
| 63 |
#define SCNxMAX see below
|
|
|
|
| 64 |
#define PRIdPTR see below
|
| 65 |
#define PRIiPTR see below
|
| 66 |
#define PRIoPTR see below
|
| 67 |
#define PRIuPTR see below
|
| 68 |
#define PRIxPTR see below
|
| 69 |
#define PRIXPTR see below
|
|
|
|
|
|
|
| 70 |
#define SCNdPTR see below
|
| 71 |
#define SCNiPTR see below
|
| 72 |
#define SCNoPTR see below
|
| 73 |
#define SCNuPTR see below
|
| 74 |
#define SCNxPTR see below
|
|
|
|
| 75 |
```
|
| 76 |
|
| 77 |
The contents and meaning of the header `<cinttypes>` are the same as the
|
| 78 |
C standard library header `<inttypes.h>`, with the following changes:
|
| 79 |
|
| 80 |
- The header `<cinttypes>` includes the header `<cstdint>` instead of
|
| 81 |
`<stdint.h>`, and
|
| 82 |
-
- `intmax_t` and `uintmax_t` are not required to be able to represent
|
| 83 |
-
all values of extended integer types wider than `long long` and
|
| 84 |
-
`unsigned long long`, respectively, and
|
| 85 |
- if and only if the type `intmax_t` designates an extended integer type
|
| 86 |
[[basic.fundamental]], the following function signatures are added:
|
| 87 |
``` cpp
|
| 88 |
constexpr intmax_t abs(intmax_t);
|
| 89 |
constexpr imaxdiv_t div(intmax_t, intmax_t);
|
|
@@ -98,11 +112,13 @@ See also: ISO C 7.8
|
|
| 98 |
Each of the `PRI` macros listed in this subclause is defined if and only
|
| 99 |
if the implementation defines the corresponding *typedef-name* in
|
| 100 |
[[cstdint.syn]]. Each of the `SCN` macros listed in this subclause is
|
| 101 |
defined if and only if the implementation defines the corresponding
|
| 102 |
*typedef-name* in [[cstdint.syn]] and has a suitable `fscanf` length
|
| 103 |
-
modifier for the type.
|
|
|
|
|
|
|
| 104 |
|
| 105 |
<!-- Link reference definitions -->
|
| 106 |
[adjustfield.manip]: #adjustfield.manip
|
| 107 |
[allocator.requirements.general]: library.md#allocator.requirements.general
|
| 108 |
[basefield.manip]: #basefield.manip
|
|
@@ -117,22 +133,24 @@ modifier for the type.
|
|
| 117 |
[c.files]: #c.files
|
| 118 |
[char.traits]: strings.md#char.traits
|
| 119 |
[char.traits.specializations]: strings.md#char.traits.specializations
|
| 120 |
[character.seq]: library.md#character.seq
|
| 121 |
[cinttypes.syn]: #cinttypes.syn
|
| 122 |
-
[container.
|
| 123 |
[cpp17.copyassignable]: #cpp17.copyassignable
|
| 124 |
[cpp17.copyconstructible]: #cpp17.copyconstructible
|
| 125 |
[cpp17.defaultconstructible]: #cpp17.defaultconstructible
|
| 126 |
[cpp17.destructible]: #cpp17.destructible
|
| 127 |
[cpp17.equalitycomparable]: #cpp17.equalitycomparable
|
| 128 |
[cstdint.syn]: support.md#cstdint.syn
|
| 129 |
[cstdio.syn]: #cstdio.syn
|
|
|
|
| 130 |
[defns.ntcts]: intro.md#defns.ntcts
|
| 131 |
[enumerated.types]: library.md#enumerated.types
|
| 132 |
[error.reporting]: #error.reporting
|
| 133 |
[ext.manip]: #ext.manip
|
|
|
|
| 134 |
[file.streams]: #file.streams
|
| 135 |
[filebuf]: #filebuf
|
| 136 |
[filebuf.assign]: #filebuf.assign
|
| 137 |
[filebuf.cons]: #filebuf.cons
|
| 138 |
[filebuf.general]: #filebuf.general
|
|
@@ -142,12 +160,16 @@ modifier for the type.
|
|
| 142 |
[filebuf.virtuals]: #filebuf.virtuals
|
| 143 |
[filesystems]: #filesystems
|
| 144 |
[floatfield.manip]: #floatfield.manip
|
| 145 |
[fmtflags.manip]: #fmtflags.manip
|
| 146 |
[fmtflags.state]: #fmtflags.state
|
| 147 |
-
[format.err.report]:
|
|
|
|
|
|
|
|
|
|
| 148 |
[fpos]: #fpos
|
|
|
|
| 149 |
[fpos.members]: #fpos.members
|
| 150 |
[fpos.operations]: #fpos.operations
|
| 151 |
[fs.class.directory.entry]: #fs.class.directory.entry
|
| 152 |
[fs.class.directory.entry.general]: #fs.class.directory.entry.general
|
| 153 |
[fs.class.directory.iterator]: #fs.class.directory.iterator
|
|
@@ -231,10 +253,13 @@ modifier for the type.
|
|
| 231 |
[fs.path.concat]: #fs.path.concat
|
| 232 |
[fs.path.construct]: #fs.path.construct
|
| 233 |
[fs.path.cvt]: #fs.path.cvt
|
| 234 |
[fs.path.decompose]: #fs.path.decompose
|
| 235 |
[fs.path.fmt.cvt]: #fs.path.fmt.cvt
|
|
|
|
|
|
|
|
|
|
| 236 |
[fs.path.gen]: #fs.path.gen
|
| 237 |
[fs.path.generic]: #fs.path.generic
|
| 238 |
[fs.path.generic.obs]: #fs.path.generic.obs
|
| 239 |
[fs.path.hash]: #fs.path.hash
|
| 240 |
[fs.path.io]: #fs.path.io
|
|
@@ -264,10 +289,11 @@ modifier for the type.
|
|
| 264 |
[input.iterators]: iterators.md#input.iterators
|
| 265 |
[input.output]: #input.output
|
| 266 |
[input.output.general]: #input.output.general
|
| 267 |
[input.streams]: #input.streams
|
| 268 |
[input.streams.general]: #input.streams.general
|
|
|
|
| 269 |
[intro.multithread]: basic.md#intro.multithread
|
| 270 |
[intro.races]: basic.md#intro.races
|
| 271 |
[iomanip.syn]: #iomanip.syn
|
| 272 |
[ios]: #ios
|
| 273 |
[ios.base]: #ios.base
|
|
@@ -328,12 +354,12 @@ modifier for the type.
|
|
| 328 |
[istringstream.cons]: #istringstream.cons
|
| 329 |
[istringstream.general]: #istringstream.general
|
| 330 |
[istringstream.members]: #istringstream.members
|
| 331 |
[istringstream.swap]: #istringstream.swap
|
| 332 |
[lex.charset]: lex.md#lex.charset
|
| 333 |
-
[locale.codecvt.virtuals]:
|
| 334 |
-
[locale.num.get]:
|
| 335 |
[namespace.std]: library.md#namespace.std
|
| 336 |
[narrow.stream.objects]: #narrow.stream.objects
|
| 337 |
[numeric.limits]: support.md#numeric.limits
|
| 338 |
[ofstream]: #ofstream
|
| 339 |
[ofstream.cons]: #ofstream.cons
|
|
@@ -448,12 +474,12 @@ modifier for the type.
|
|
| 448 |
[views.span]: containers.md#views.span
|
| 449 |
[wide.stream.objects]: #wide.stream.objects
|
| 450 |
|
| 451 |
[^1]: Typically `long long`.
|
| 452 |
|
| 453 |
-
[^2]: Most places where `streamsize` is used would use `size_t` in
|
| 454 |
-
|
| 455 |
|
| 456 |
[^3]: It is the implementation’s responsibility to implement headers so
|
| 457 |
that including `<iosfwd>` and other headers does not violate the
|
| 458 |
rules about multiple occurrences of default arguments.
|
| 459 |
|
|
@@ -465,11 +491,11 @@ modifier for the type.
|
|
| 465 |
mixed arbitrarily with operations on the corresponding stdio stream.
|
| 466 |
In practical terms, synchronization usually means that a standard
|
| 467 |
iostream object and a standard stdio object share a buffer.
|
| 468 |
|
| 469 |
[^6]: An implementation is free to implement both the integer array
|
| 470 |
-
pointed at by
|
| 471 |
as sparse data structures, possibly with a one-element cache for
|
| 472 |
each.
|
| 473 |
|
| 474 |
[^7]: For example, because it cannot allocate space.
|
| 475 |
|
|
@@ -502,11 +528,11 @@ modifier for the type.
|
|
| 502 |
ways to implement `xsgetn()` and `xsputn()` by overriding these
|
| 503 |
definitions from the base class.
|
| 504 |
|
| 505 |
[^16]: That is, for each class derived from a specialization of
|
| 506 |
`basic_streambuf` in this Clause [[stringbuf]], [[filebuf]],
|
| 507 |
-
a specification of how consuming a character
|
| 508 |
output sequence is given. There is no requirement on a
|
| 509 |
program-defined class.
|
| 510 |
|
| 511 |
[^17]: Typically, `overflow` returns `c` to indicate success, except
|
| 512 |
when `traits::eq_int_type(c, traits::eof())` returns `true`, in
|
|
|
|
| 15 |
|
| 16 |
constexpr intmax_t abs(intmax_t); // optional, see below
|
| 17 |
constexpr imaxdiv_t div(intmax_t, intmax_t); // optional, see below
|
| 18 |
}
|
| 19 |
|
| 20 |
+
#define __STDC_VERSION_INTTYPES_H__ 202311L
|
| 21 |
+
|
| 22 |
#define PRIdN see below
|
| 23 |
#define PRIiN see below
|
| 24 |
#define PRIoN see below
|
| 25 |
#define PRIuN see below
|
| 26 |
#define PRIxN see below
|
| 27 |
#define PRIXN see below
|
| 28 |
+
#define PRIbN see below
|
| 29 |
+
#define PRIBN see below
|
| 30 |
#define SCNdN see below
|
| 31 |
#define SCNiN see below
|
| 32 |
#define SCNoN see below
|
| 33 |
#define SCNuN see below
|
| 34 |
#define SCNxN see below
|
| 35 |
+
#define SCNbN see below
|
| 36 |
#define PRIdLEASTN see below
|
| 37 |
#define PRIiLEASTN see below
|
| 38 |
#define PRIoLEASTN see below
|
| 39 |
#define PRIuLEASTN see below
|
| 40 |
#define PRIxLEASTN see below
|
| 41 |
#define PRIXLEASTN see below
|
| 42 |
+
#define PRIbLEASTN see below
|
| 43 |
+
#define PRIBLEASTN see below
|
| 44 |
#define SCNdLEASTN see below
|
| 45 |
#define SCNiLEASTN see below
|
| 46 |
#define SCNoLEASTN see below
|
| 47 |
#define SCNuLEASTN see below
|
| 48 |
#define SCNxLEASTN see below
|
| 49 |
+
#define SCNbLEASTN see below
|
| 50 |
#define PRIdFASTN see below
|
| 51 |
#define PRIiFASTN see below
|
| 52 |
#define PRIoFASTN see below
|
| 53 |
#define PRIuFASTN see below
|
| 54 |
#define PRIxFASTN see below
|
| 55 |
#define PRIXFASTN see below
|
| 56 |
+
#define PRIbFASTN see below
|
| 57 |
+
#define PRIBFASTN see below
|
| 58 |
#define SCNdFASTN see below
|
| 59 |
#define SCNiFASTN see below
|
| 60 |
#define SCNoFASTN see below
|
| 61 |
#define SCNuFASTN see below
|
| 62 |
#define SCNxFASTN see below
|
| 63 |
+
#define SCNbFASTN see below
|
| 64 |
#define PRIdMAX see below
|
| 65 |
#define PRIiMAX see below
|
| 66 |
#define PRIoMAX see below
|
| 67 |
#define PRIuMAX see below
|
| 68 |
#define PRIxMAX see below
|
| 69 |
#define PRIXMAX see below
|
| 70 |
+
#define PRIbMAX see below
|
| 71 |
+
#define PRIBMAX see below
|
| 72 |
#define SCNdMAX see below
|
| 73 |
#define SCNiMAX see below
|
| 74 |
#define SCNoMAX see below
|
| 75 |
#define SCNuMAX see below
|
| 76 |
#define SCNxMAX see below
|
| 77 |
+
#define SCNbMAX see below
|
| 78 |
#define PRIdPTR see below
|
| 79 |
#define PRIiPTR see below
|
| 80 |
#define PRIoPTR see below
|
| 81 |
#define PRIuPTR see below
|
| 82 |
#define PRIxPTR see below
|
| 83 |
#define PRIXPTR see below
|
| 84 |
+
#define PRIbPTR see below
|
| 85 |
+
#define PRIBPTR see below
|
| 86 |
#define SCNdPTR see below
|
| 87 |
#define SCNiPTR see below
|
| 88 |
#define SCNoPTR see below
|
| 89 |
#define SCNuPTR see below
|
| 90 |
#define SCNxPTR see below
|
| 91 |
+
#define SCNbPTR see below
|
| 92 |
```
|
| 93 |
|
| 94 |
The contents and meaning of the header `<cinttypes>` are the same as the
|
| 95 |
C standard library header `<inttypes.h>`, with the following changes:
|
| 96 |
|
| 97 |
- The header `<cinttypes>` includes the header `<cstdint>` instead of
|
| 98 |
`<stdint.h>`, and
|
|
|
|
|
|
|
|
|
|
| 99 |
- if and only if the type `intmax_t` designates an extended integer type
|
| 100 |
[[basic.fundamental]], the following function signatures are added:
|
| 101 |
``` cpp
|
| 102 |
constexpr intmax_t abs(intmax_t);
|
| 103 |
constexpr imaxdiv_t div(intmax_t, intmax_t);
|
|
|
|
| 112 |
Each of the `PRI` macros listed in this subclause is defined if and only
|
| 113 |
if the implementation defines the corresponding *typedef-name* in
|
| 114 |
[[cstdint.syn]]. Each of the `SCN` macros listed in this subclause is
|
| 115 |
defined if and only if the implementation defines the corresponding
|
| 116 |
*typedef-name* in [[cstdint.syn]] and has a suitable `fscanf` length
|
| 117 |
+
modifier for the type. Each of the `PRIB` macros listed in this
|
| 118 |
+
subclause is defined if and only if `fprintf` supports the `B`
|
| 119 |
+
conversion specifier.
|
| 120 |
|
| 121 |
<!-- Link reference definitions -->
|
| 122 |
[adjustfield.manip]: #adjustfield.manip
|
| 123 |
[allocator.requirements.general]: library.md#allocator.requirements.general
|
| 124 |
[basefield.manip]: #basefield.manip
|
|
|
|
| 133 |
[c.files]: #c.files
|
| 134 |
[char.traits]: strings.md#char.traits
|
| 135 |
[char.traits.specializations]: strings.md#char.traits.specializations
|
| 136 |
[character.seq]: library.md#character.seq
|
| 137 |
[cinttypes.syn]: #cinttypes.syn
|
| 138 |
+
[container.reqmts]: containers.md#container.reqmts
|
| 139 |
[cpp17.copyassignable]: #cpp17.copyassignable
|
| 140 |
[cpp17.copyconstructible]: #cpp17.copyconstructible
|
| 141 |
[cpp17.defaultconstructible]: #cpp17.defaultconstructible
|
| 142 |
[cpp17.destructible]: #cpp17.destructible
|
| 143 |
[cpp17.equalitycomparable]: #cpp17.equalitycomparable
|
| 144 |
[cstdint.syn]: support.md#cstdint.syn
|
| 145 |
[cstdio.syn]: #cstdio.syn
|
| 146 |
+
[defns.character.container]: intro.md#defns.character.container
|
| 147 |
[defns.ntcts]: intro.md#defns.ntcts
|
| 148 |
[enumerated.types]: library.md#enumerated.types
|
| 149 |
[error.reporting]: #error.reporting
|
| 150 |
[ext.manip]: #ext.manip
|
| 151 |
+
[file.native]: #file.native
|
| 152 |
[file.streams]: #file.streams
|
| 153 |
[filebuf]: #filebuf
|
| 154 |
[filebuf.assign]: #filebuf.assign
|
| 155 |
[filebuf.cons]: #filebuf.cons
|
| 156 |
[filebuf.general]: #filebuf.general
|
|
|
|
| 160 |
[filebuf.virtuals]: #filebuf.virtuals
|
| 161 |
[filesystems]: #filesystems
|
| 162 |
[floatfield.manip]: #floatfield.manip
|
| 163 |
[fmtflags.manip]: #fmtflags.manip
|
| 164 |
[fmtflags.state]: #fmtflags.state
|
| 165 |
+
[format.err.report]: text.md#format.err.report
|
| 166 |
+
[format.functions]: text.md#format.functions
|
| 167 |
+
[format.string]: text.md#format.string
|
| 168 |
+
[format.string.escaped]: text.md#format.string.escaped
|
| 169 |
[fpos]: #fpos
|
| 170 |
+
[fpos.general]: #fpos.general
|
| 171 |
[fpos.members]: #fpos.members
|
| 172 |
[fpos.operations]: #fpos.operations
|
| 173 |
[fs.class.directory.entry]: #fs.class.directory.entry
|
| 174 |
[fs.class.directory.entry.general]: #fs.class.directory.entry.general
|
| 175 |
[fs.class.directory.iterator]: #fs.class.directory.iterator
|
|
|
|
| 253 |
[fs.path.concat]: #fs.path.concat
|
| 254 |
[fs.path.construct]: #fs.path.construct
|
| 255 |
[fs.path.cvt]: #fs.path.cvt
|
| 256 |
[fs.path.decompose]: #fs.path.decompose
|
| 257 |
[fs.path.fmt.cvt]: #fs.path.fmt.cvt
|
| 258 |
+
[fs.path.fmtr]: #fs.path.fmtr
|
| 259 |
+
[fs.path.fmtr.funcs]: #fs.path.fmtr.funcs
|
| 260 |
+
[fs.path.fmtr.general]: #fs.path.fmtr.general
|
| 261 |
[fs.path.gen]: #fs.path.gen
|
| 262 |
[fs.path.generic]: #fs.path.generic
|
| 263 |
[fs.path.generic.obs]: #fs.path.generic.obs
|
| 264 |
[fs.path.hash]: #fs.path.hash
|
| 265 |
[fs.path.io]: #fs.path.io
|
|
|
|
| 289 |
[input.iterators]: iterators.md#input.iterators
|
| 290 |
[input.output]: #input.output
|
| 291 |
[input.output.general]: #input.output.general
|
| 292 |
[input.streams]: #input.streams
|
| 293 |
[input.streams.general]: #input.streams.general
|
| 294 |
+
[intro.abstract]: intro.md#intro.abstract
|
| 295 |
[intro.multithread]: basic.md#intro.multithread
|
| 296 |
[intro.races]: basic.md#intro.races
|
| 297 |
[iomanip.syn]: #iomanip.syn
|
| 298 |
[ios]: #ios
|
| 299 |
[ios.base]: #ios.base
|
|
|
|
| 354 |
[istringstream.cons]: #istringstream.cons
|
| 355 |
[istringstream.general]: #istringstream.general
|
| 356 |
[istringstream.members]: #istringstream.members
|
| 357 |
[istringstream.swap]: #istringstream.swap
|
| 358 |
[lex.charset]: lex.md#lex.charset
|
| 359 |
+
[locale.codecvt.virtuals]: text.md#locale.codecvt.virtuals
|
| 360 |
+
[locale.num.get]: text.md#locale.num.get
|
| 361 |
[namespace.std]: library.md#namespace.std
|
| 362 |
[narrow.stream.objects]: #narrow.stream.objects
|
| 363 |
[numeric.limits]: support.md#numeric.limits
|
| 364 |
[ofstream]: #ofstream
|
| 365 |
[ofstream.cons]: #ofstream.cons
|
|
|
|
| 474 |
[views.span]: containers.md#views.span
|
| 475 |
[wide.stream.objects]: #wide.stream.objects
|
| 476 |
|
| 477 |
[^1]: Typically `long long`.
|
| 478 |
|
| 479 |
+
[^2]: Most places where `streamsize` is used would use `size_t` in C, or
|
| 480 |
+
`ssize_t` in POSIX.
|
| 481 |
|
| 482 |
[^3]: It is the implementation’s responsibility to implement headers so
|
| 483 |
that including `<iosfwd>` and other headers does not violate the
|
| 484 |
rules about multiple occurrences of default arguments.
|
| 485 |
|
|
|
|
| 491 |
mixed arbitrarily with operations on the corresponding stdio stream.
|
| 492 |
In practical terms, synchronization usually means that a standard
|
| 493 |
iostream object and a standard stdio object share a buffer.
|
| 494 |
|
| 495 |
[^6]: An implementation is free to implement both the integer array
|
| 496 |
+
pointed at by *iarray* and the pointer array pointed at by *parray*
|
| 497 |
as sparse data structures, possibly with a one-element cache for
|
| 498 |
each.
|
| 499 |
|
| 500 |
[^7]: For example, because it cannot allocate space.
|
| 501 |
|
|
|
|
| 528 |
ways to implement `xsgetn()` and `xsputn()` by overriding these
|
| 529 |
definitions from the base class.
|
| 530 |
|
| 531 |
[^16]: That is, for each class derived from a specialization of
|
| 532 |
`basic_streambuf` in this Clause [[stringbuf]], [[filebuf]],
|
| 533 |
+
a specification of how consuming a character affects the associated
|
| 534 |
output sequence is given. There is no requirement on a
|
| 535 |
program-defined class.
|
| 536 |
|
| 537 |
[^17]: Typically, `overflow` returns `c` to indicate success, except
|
| 538 |
when `traits::eq_int_type(c, traits::eof())` returns `true`, in
|