From Jason Turner

[text.c.strings]

Diff to HTML by rtfpessoa

Files changed (1) hide show
  1. tmp/tmprwyskewi/{from.md → to.md} +598 -0
tmp/tmprwyskewi/{from.md → to.md} RENAMED
@@ -0,0 +1,598 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ## Null-terminated sequence utilities <a id="text.c.strings">[[text.c.strings]]</a>
2
+
3
+ ### Header `<cctype>` synopsis <a id="cctype.syn">[[cctype.syn]]</a>
4
+
5
+ ``` cpp
6
+ namespace std {
7
+ int isalnum(int c);
8
+ int isalpha(int c);
9
+ int isblank(int c);
10
+ int iscntrl(int c);
11
+ int isdigit(int c);
12
+ int isgraph(int c);
13
+ int islower(int c);
14
+ int isprint(int c);
15
+ int ispunct(int c);
16
+ int isspace(int c);
17
+ int isupper(int c);
18
+ int isxdigit(int c);
19
+ int tolower(int c);
20
+ int toupper(int c);
21
+ }
22
+ ```
23
+
24
+ The contents and meaning of the header `<cctype>` are the same as the C
25
+ standard library header `<ctype.h>`.
26
+
27
+ See also: ISO C 7.4
28
+
29
+ ### Header `<cwctype>` synopsis <a id="cwctype.syn">[[cwctype.syn]]</a>
30
+
31
+ ``` cpp
32
+ namespace std {
33
+ using wint_t = see below;
34
+ using wctrans_t = see below;
35
+ using wctype_t = see below;
36
+
37
+ int iswalnum(wint_t wc);
38
+ int iswalpha(wint_t wc);
39
+ int iswblank(wint_t wc);
40
+ int iswcntrl(wint_t wc);
41
+ int iswdigit(wint_t wc);
42
+ int iswgraph(wint_t wc);
43
+ int iswlower(wint_t wc);
44
+ int iswprint(wint_t wc);
45
+ int iswpunct(wint_t wc);
46
+ int iswspace(wint_t wc);
47
+ int iswupper(wint_t wc);
48
+ int iswxdigit(wint_t wc);
49
+ int iswctype(wint_t wc, wctype_t desc);
50
+ wctype_t wctype(const char* property);
51
+ wint_t towlower(wint_t wc);
52
+ wint_t towupper(wint_t wc);
53
+ wint_t towctrans(wint_t wc, wctrans_t desc);
54
+ wctrans_t wctrans(const char* property);
55
+ }
56
+
57
+ #define WEOF see below
58
+ ```
59
+
60
+ The contents and meaning of the header `<cwctype>` are the same as the C
61
+ standard library header `<wctype.h>`.
62
+
63
+ See also: ISO C 7.32
64
+
65
+ ### Header `<cwchar>` synopsis <a id="cwchar.syn">[[cwchar.syn]]</a>
66
+
67
+ ``` cpp
68
+ #define __STDC_VERSION_WCHAR_H__ 202311L
69
+
70
+ namespace std {
71
+ using size_t = see [support.types.layout]; // freestanding
72
+ using mbstate_t = see below; // freestanding
73
+ using wint_t = see below; // freestanding
74
+
75
+ struct tm;
76
+
77
+ int fwprintf(FILE* stream, const wchar_t* format, ...);
78
+ int fwscanf(FILE* stream, const wchar_t* format, ...);
79
+ int swprintf(wchar_t* s, size_t n, const wchar_t* format, ...);
80
+ int swscanf(const wchar_t* s, const wchar_t* format, ...);
81
+ int vfwprintf(FILE* stream, const wchar_t* format, va_list arg);
82
+ int vfwscanf(FILE* stream, const wchar_t* format, va_list arg);
83
+ int vswprintf(wchar_t* s, size_t n, const wchar_t* format, va_list arg);
84
+ int vswscanf(const wchar_t* s, const wchar_t* format, va_list arg);
85
+ int vwprintf(const wchar_t* format, va_list arg);
86
+ int vwscanf(const wchar_t* format, va_list arg);
87
+ int wprintf(const wchar_t* format, ...);
88
+ int wscanf(const wchar_t* format, ...);
89
+ wint_t fgetwc(FILE* stream);
90
+ wchar_t* fgetws(wchar_t* s, int n, FILE* stream);
91
+ wint_t fputwc(wchar_t c, FILE* stream);
92
+ int fputws(const wchar_t* s, FILE* stream);
93
+ int fwide(FILE* stream, int mode);
94
+ wint_t getwc(FILE* stream);
95
+ wint_t getwchar();
96
+ wint_t putwc(wchar_t c, FILE* stream);
97
+ wint_t putwchar(wchar_t c);
98
+ wint_t ungetwc(wint_t c, FILE* stream);
99
+ double wcstod(const wchar_t* nptr, wchar_t** endptr);
100
+ float wcstof(const wchar_t* nptr, wchar_t** endptr);
101
+ long double wcstold(const wchar_t* nptr, wchar_t** endptr);
102
+ long int wcstol(const wchar_t* nptr, wchar_t** endptr, int base);
103
+ long long int wcstoll(const wchar_t* nptr, wchar_t** endptr, int base);
104
+ unsigned long int wcstoul(const wchar_t* nptr, wchar_t** endptr, int base);
105
+ unsigned long long int wcstoull(const wchar_t* nptr, wchar_t** endptr, int base);
106
+ wchar_t* wcscpy(wchar_t* s1, const wchar_t* s2); // freestanding
107
+ wchar_t* wcsncpy(wchar_t* s1, const wchar_t* s2, size_t n); // freestanding
108
+ wchar_t* wmemcpy(wchar_t* s1, const wchar_t* s2, size_t n); // freestanding
109
+ wchar_t* wmemmove(wchar_t* s1, const wchar_t* s2, size_t n); // freestanding
110
+ wchar_t* wcscat(wchar_t* s1, const wchar_t* s2); // freestanding
111
+ wchar_t* wcsncat(wchar_t* s1, const wchar_t* s2, size_t n); // freestanding
112
+ int wcscmp(const wchar_t* s1, const wchar_t* s2); // freestanding
113
+ int wcscoll(const wchar_t* s1, const wchar_t* s2);
114
+ int wcsncmp(const wchar_t* s1, const wchar_t* s2, size_t n); // freestanding
115
+ size_t wcsxfrm(wchar_t* s1, const wchar_t* s2, size_t n);
116
+ int wmemcmp(const wchar_t* s1, const wchar_t* s2, size_t n); // freestanding
117
+ const wchar_t* wcschr(const wchar_t* s, wchar_t c); // freestanding; see [library.c]
118
+ wchar_t* wcschr(wchar_t* s, wchar_t c); // freestanding; see [library.c]
119
+ size_t wcscspn(const wchar_t* s1, const wchar_t* s2); // freestanding
120
+ const wchar_t* wcspbrk(const wchar_t* s1, const wchar_t* s2); // freestanding; see [library.c]
121
+ wchar_t* wcspbrk(wchar_t* s1, const wchar_t* s2); // freestanding; see [library.c]
122
+ const wchar_t* wcsrchr(const wchar_t* s, wchar_t c); // freestanding; see [library.c]
123
+ wchar_t* wcsrchr(wchar_t* s, wchar_t c); // freestanding; see [library.c]
124
+ size_t wcsspn(const wchar_t* s1, const wchar_t* s2); // freestanding
125
+ const wchar_t* wcsstr(const wchar_t* s1, const wchar_t* s2); // freestanding; see [library.c]
126
+ wchar_t* wcsstr(wchar_t* s1, const wchar_t* s2); // freestanding; see [library.c]
127
+ wchar_t* wcstok(wchar_t* s1, const wchar_t* s2, wchar_t** ptr); // freestanding
128
+ const wchar_t* wmemchr(const wchar_t* s, wchar_t c, size_t n); // freestanding; see [library.c]
129
+ wchar_t* wmemchr(wchar_t* s, wchar_t c, size_t n); // freestanding; see [library.c]
130
+ size_t wcslen(const wchar_t* s); // freestanding
131
+ wchar_t* wmemset(wchar_t* s, wchar_t c, size_t n); // freestanding
132
+ size_t wcsftime(wchar_t* s, size_t maxsize, const wchar_t* format, const tm* timeptr);
133
+ wint_t btowc(int c);
134
+ int wctob(wint_t c);
135
+
136
+ // [c.mb.wcs], multibyte / wide string and character conversion functions
137
+ int mbsinit(const mbstate_t* ps);
138
+ size_t mbrlen(const char* s, size_t n, mbstate_t* ps);
139
+ size_t mbrtowc(wchar_t* pwc, const char* s, size_t n, mbstate_t* ps);
140
+ size_t wcrtomb(char* s, wchar_t wc, mbstate_t* ps);
141
+ size_t mbsrtowcs(wchar_t* dst, const char** src, size_t len, mbstate_t* ps);
142
+ size_t wcsrtombs(char* dst, const wchar_t** src, size_t len, mbstate_t* ps);
143
+ }
144
+
145
+ #define NULL see [support.types.nullptr] // freestanding
146
+ #define WCHAR_MAX see below // freestanding
147
+ #define WCHAR_MIN see below // freestanding
148
+ #define WEOF see below // freestanding
149
+ #define WCHAR_WIDTH see below // freestanding
150
+ ```
151
+
152
+ The contents and meaning of the header `<cwchar>` are the same as the C
153
+ standard library header `<wchar.h>`, except that it does not declare a
154
+ type `wchar_t`.
155
+
156
+ [*Note 1*: The functions `wcschr`, `wcspbrk`, `wcsrchr`, `wcsstr`, and
157
+ `wmemchr` have different signatures in this document, but they have the
158
+ same behavior as in the C standard library [[library.c]]. — *end note*]
159
+
160
+ See also: ISO C 7.31
161
+
162
+ ### Header `<cuchar>` synopsis <a id="cuchar.syn">[[cuchar.syn]]</a>
163
+
164
+ ``` cpp
165
+ #define __STDC_VERSION_UCHAR_H__ 202311L
166
+
167
+ namespace std {
168
+ using mbstate_t = see below;
169
+ using size_t = see [support.types.layout];
170
+
171
+ size_t mbrtoc8(char8_t* pc8, const char* s, size_t n, mbstate_t* ps);
172
+ size_t c8rtomb(char* s, char8_t c8, mbstate_t* ps);
173
+ size_t mbrtoc16(char16_t* pc16, const char* s, size_t n, mbstate_t* ps);
174
+ size_t c16rtomb(char* s, char16_t c16, mbstate_t* ps);
175
+ size_t mbrtoc32(char32_t* pc32, const char* s, size_t n, mbstate_t* ps);
176
+ size_t c32rtomb(char* s, char32_t c32, mbstate_t* ps);
177
+ }
178
+ ```
179
+
180
+ The contents and meaning of the header `<cuchar>` are the same as the C
181
+ standard library header `<uchar.h>`, except that it does not declare
182
+ types `char8_t`, `char16_t`, or `char32_t`.
183
+
184
+ See also: ISO C 7.30
185
+
186
+ ### Multibyte / wide string and character conversion functions <a id="c.mb.wcs">[[c.mb.wcs]]</a>
187
+
188
+ [*Note 1*: The headers `<cstdlib>`, `<cuchar>`, and `<cwchar>` declare
189
+ the functions described in this subclause. — *end note*]
190
+
191
+ ``` cpp
192
+ int mbsinit(const mbstate_t* ps);
193
+ int mblen(const char* s, size_t n);
194
+ size_t mbstowcs(wchar_t* pwcs, const char* s, size_t n);
195
+ size_t wcstombs(char* s, const wchar_t* pwcs, size_t n);
196
+ ```
197
+
198
+ *Effects:* These functions have the semantics specified in the C
199
+ standard library.
200
+
201
+ See also: ISO C 7.24.8.2, 7.24.9, 7.31.6.3.1
202
+
203
+ ``` cpp
204
+ int mbtowc(wchar_t* pwc, const char* s, size_t n);
205
+ int wctomb(char* s, wchar_t wchar);
206
+ ```
207
+
208
+ *Effects:* These functions have the semantics specified in the C
209
+ standard library.
210
+
211
+ *Remarks:* Calls to these functions may introduce a data
212
+ race [[res.on.data.races]] with other calls to the same function.
213
+
214
+ See also: ISO C 7.24.8
215
+
216
+ ``` cpp
217
+ size_t mbrlen(const char* s, size_t n, mbstate_t* ps);
218
+ size_t mbrtowc(wchar_t* pwc, const char* s, size_t n, mbstate_t* ps);
219
+ size_t wcrtomb(char* s, wchar_t wc, mbstate_t* ps);
220
+ size_t mbrtoc8(char8_t* pc8, const char* s, size_t n, mbstate_t* ps);
221
+ size_t c8rtomb(char* s, char8_t c8, mbstate_t* ps);
222
+ size_t mbrtoc16(char16_t* pc16, const char* s, size_t n, mbstate_t* ps);
223
+ size_t c16rtomb(char* s, char16_t c16, mbstate_t* ps);
224
+ size_t mbrtoc32(char32_t* pc32, const char* s, size_t n, mbstate_t* ps);
225
+ size_t c32rtomb(char* s, char32_t c32, mbstate_t* ps);
226
+ size_t mbsrtowcs(wchar_t* dst, const char** src, size_t len, mbstate_t* ps);
227
+ size_t wcsrtombs(char* dst, const wchar_t** src, size_t len, mbstate_t* ps);
228
+ ```
229
+
230
+ *Effects:* These functions have the semantics specified in the C
231
+ standard library.
232
+
233
+ *Remarks:* Calling these functions with an `mbstate_t*` argument that is
234
+ a null pointer value may introduce a data race [[res.on.data.races]]
235
+ with other calls to the same function with an `mbstate_t*` argument that
236
+ is a null pointer value.
237
+
238
+ See also: ISO C 7.30.2, 7.31.6.4, 7.31.6.5
239
+
240
+ <!-- Link reference definitions -->
241
+ [alg.lex.comparison]: algorithms.md#alg.lex.comparison
242
+ [alg.sort]: algorithms.md#alg.sort
243
+ [algorithms]: algorithms.md#algorithms
244
+ [algorithms.requirements]: algorithms.md#algorithms.requirements
245
+ [basic.fundamental]: basic.md#basic.fundamental
246
+ [basic.start.static]: basic.md#basic.start.static
247
+ [bitmask.types]: library.md#bitmask.types
248
+ [c.files]: input.md#c.files
249
+ [c.locales]: #c.locales
250
+ [c.mb.wcs]: #c.mb.wcs
251
+ [category.collate]: #category.collate
252
+ [category.ctype]: #category.ctype
253
+ [category.ctype.general]: #category.ctype.general
254
+ [category.messages]: #category.messages
255
+ [category.messages.general]: #category.messages.general
256
+ [category.monetary]: #category.monetary
257
+ [category.monetary.general]: #category.monetary.general
258
+ [category.numeric]: #category.numeric
259
+ [category.numeric.general]: #category.numeric.general
260
+ [category.time]: #category.time
261
+ [category.time.general]: #category.time.general
262
+ [cctype.syn]: #cctype.syn
263
+ [character.seq.general]: library.md#character.seq.general
264
+ [charconv]: #charconv
265
+ [charconv.from.chars]: #charconv.from.chars
266
+ [charconv.syn]: #charconv.syn
267
+ [charconv.to.chars]: #charconv.to.chars
268
+ [classification]: #classification
269
+ [clocale.data.races]: #clocale.data.races
270
+ [clocale.syn]: #clocale.syn
271
+ [container.alloc.reqmts]: containers.md#container.alloc.reqmts
272
+ [container.reqmts]: containers.md#container.reqmts
273
+ [container.requirements.general]: containers.md#container.requirements.general
274
+ [conversions.character]: #conversions.character
275
+ [cpp17.copyassignable]: #cpp17.copyassignable
276
+ [cpp17.copyconstructible]: #cpp17.copyconstructible
277
+ [cpp17.defaultconstructible]: #cpp17.defaultconstructible
278
+ [cpp17.destructible]: #cpp17.destructible
279
+ [cuchar.syn]: #cuchar.syn
280
+ [cwchar.syn]: #cwchar.syn
281
+ [cwctype.syn]: #cwctype.syn
282
+ [defns.character.container]: intro.md#defns.character.container
283
+ [defns.ntcts]: intro.md#defns.ntcts
284
+ [enumerated.types]: library.md#enumerated.types
285
+ [expr.const]: expr.md#expr.const
286
+ [facet.ctype.char.dtor]: #facet.ctype.char.dtor
287
+ [facet.ctype.char.members]: #facet.ctype.char.members
288
+ [facet.ctype.char.statics]: #facet.ctype.char.statics
289
+ [facet.ctype.char.virtuals]: #facet.ctype.char.virtuals
290
+ [facet.ctype.special]: #facet.ctype.special
291
+ [facet.ctype.special.general]: #facet.ctype.special.general
292
+ [facet.num.get.members]: #facet.num.get.members
293
+ [facet.num.get.virtuals]: #facet.num.get.virtuals
294
+ [facet.num.put.members]: #facet.num.put.members
295
+ [facet.num.put.virtuals]: #facet.num.put.virtuals
296
+ [facet.numpunct]: #facet.numpunct
297
+ [facet.numpunct.members]: #facet.numpunct.members
298
+ [facet.numpunct.virtuals]: #facet.numpunct.virtuals
299
+ [file.streams]: input.md#file.streams
300
+ [format]: #format
301
+ [format.align]: #format.align
302
+ [format.arg]: #format.arg
303
+ [format.arg.store]: #format.arg.store
304
+ [format.args]: #format.args
305
+ [format.arguments]: #format.arguments
306
+ [format.context]: #format.context
307
+ [format.err.report]: #format.err.report
308
+ [format.error]: #format.error
309
+ [format.escape.sequences]: #format.escape.sequences
310
+ [format.fmt.string]: #format.fmt.string
311
+ [format.formattable]: #format.formattable
312
+ [format.formatter]: #format.formatter
313
+ [format.formatter.locking]: #format.formatter.locking
314
+ [format.formatter.spec]: #format.formatter.spec
315
+ [format.functions]: #format.functions
316
+ [format.parse.ctx]: #format.parse.ctx
317
+ [format.range]: #format.range
318
+ [format.range.fmtdef]: #format.range.fmtdef
319
+ [format.range.fmtkind]: #format.range.fmtkind
320
+ [format.range.fmtmap]: #format.range.fmtmap
321
+ [format.range.fmtset]: #format.range.fmtset
322
+ [format.range.fmtstr]: #format.range.fmtstr
323
+ [format.range.formatter]: #format.range.formatter
324
+ [format.sign]: #format.sign
325
+ [format.string]: #format.string
326
+ [format.string.escaped]: #format.string.escaped
327
+ [format.string.general]: #format.string.general
328
+ [format.string.std]: #format.string.std
329
+ [format.syn]: #format.syn
330
+ [format.tuple]: #format.tuple
331
+ [format.type.bool]: #format.type.bool
332
+ [format.type.char]: #format.type.char
333
+ [format.type.float]: #format.type.float
334
+ [format.type.int]: #format.type.int
335
+ [format.type.ptr]: #format.type.ptr
336
+ [format.type.string]: #format.type.string
337
+ [formatter]: #formatter
338
+ [formatter.basic]: #formatter.basic
339
+ [formatter.range.type]: #formatter.range.type
340
+ [formatter.requirements]: #formatter.requirements
341
+ [formatter.tuple.type]: #formatter.tuple.type
342
+ [forward.iterators]: iterators.md#forward.iterators
343
+ [input.iterators]: iterators.md#input.iterators
344
+ [ios.base]: input.md#ios.base
345
+ [istream.formatted]: input.md#istream.formatted
346
+ [istream.formatted.reqmts]: input.md#istream.formatted.reqmts
347
+ [iterator.concept.bidir]: iterators.md#iterator.concept.bidir
348
+ [iterator.concept.output]: iterators.md#iterator.concept.output
349
+ [iterator.requirements]: iterators.md#iterator.requirements
350
+ [iterator.requirements.general]: iterators.md#iterator.requirements.general
351
+ [lex.charset]: lex.md#lex.charset
352
+ [lex.string.literal]: lex.md#lex.string.literal
353
+ [library.c]: library.md#library.c
354
+ [locale]: #locale
355
+ [locale.categories]: #locale.categories
356
+ [locale.categories.general]: #locale.categories.general
357
+ [locale.category]: #locale.category
358
+ [locale.category.facets]: #locale.category.facets
359
+ [locale.codecvt]: #locale.codecvt
360
+ [locale.codecvt.byname]: #locale.codecvt.byname
361
+ [locale.codecvt.general]: #locale.codecvt.general
362
+ [locale.codecvt.inout]: #locale.codecvt.inout
363
+ [locale.codecvt.members]: #locale.codecvt.members
364
+ [locale.codecvt.unshift]: #locale.codecvt.unshift
365
+ [locale.codecvt.virtuals]: #locale.codecvt.virtuals
366
+ [locale.collate]: #locale.collate
367
+ [locale.collate.byname]: #locale.collate.byname
368
+ [locale.collate.general]: #locale.collate.general
369
+ [locale.collate.members]: #locale.collate.members
370
+ [locale.collate.virtuals]: #locale.collate.virtuals
371
+ [locale.cons]: #locale.cons
372
+ [locale.convenience]: #locale.convenience
373
+ [locale.ctype]: #locale.ctype
374
+ [locale.ctype.byname]: #locale.ctype.byname
375
+ [locale.ctype.general]: #locale.ctype.general
376
+ [locale.ctype.members]: #locale.ctype.members
377
+ [locale.ctype.virtuals]: #locale.ctype.virtuals
378
+ [locale.facet]: #locale.facet
379
+ [locale.general]: #locale.general
380
+ [locale.global.templates]: #locale.global.templates
381
+ [locale.id]: #locale.id
382
+ [locale.members]: #locale.members
383
+ [locale.messages]: #locale.messages
384
+ [locale.messages.byname]: #locale.messages.byname
385
+ [locale.messages.general]: #locale.messages.general
386
+ [locale.messages.members]: #locale.messages.members
387
+ [locale.messages.virtuals]: #locale.messages.virtuals
388
+ [locale.money.get]: #locale.money.get
389
+ [locale.money.get.general]: #locale.money.get.general
390
+ [locale.money.get.members]: #locale.money.get.members
391
+ [locale.money.get.virtuals]: #locale.money.get.virtuals
392
+ [locale.money.put]: #locale.money.put
393
+ [locale.money.put.general]: #locale.money.put.general
394
+ [locale.money.put.members]: #locale.money.put.members
395
+ [locale.money.put.virtuals]: #locale.money.put.virtuals
396
+ [locale.moneypunct]: #locale.moneypunct
397
+ [locale.moneypunct.byname]: #locale.moneypunct.byname
398
+ [locale.moneypunct.general]: #locale.moneypunct.general
399
+ [locale.moneypunct.members]: #locale.moneypunct.members
400
+ [locale.moneypunct.virtuals]: #locale.moneypunct.virtuals
401
+ [locale.nm.put]: #locale.nm.put
402
+ [locale.nm.put.general]: #locale.nm.put.general
403
+ [locale.num.get]: #locale.num.get
404
+ [locale.num.get.general]: #locale.num.get.general
405
+ [locale.numpunct]: #locale.numpunct
406
+ [locale.numpunct.byname]: #locale.numpunct.byname
407
+ [locale.numpunct.general]: #locale.numpunct.general
408
+ [locale.operators]: #locale.operators
409
+ [locale.spec]: #locale.spec
410
+ [locale.statics]: #locale.statics
411
+ [locale.syn]: #locale.syn
412
+ [locale.time.get]: #locale.time.get
413
+ [locale.time.get.byname]: #locale.time.get.byname
414
+ [locale.time.get.dogetdate]: #locale.time.get.dogetdate
415
+ [locale.time.get.general]: #locale.time.get.general
416
+ [locale.time.get.members]: #locale.time.get.members
417
+ [locale.time.get.virtuals]: #locale.time.get.virtuals
418
+ [locale.time.put]: #locale.time.put
419
+ [locale.time.put.byname]: #locale.time.put.byname
420
+ [locale.time.put.general]: #locale.time.put.general
421
+ [locale.time.put.members]: #locale.time.put.members
422
+ [locale.time.put.virtuals]: #locale.time.put.virtuals
423
+ [locale.types]: #locale.types
424
+ [locales]: #locales
425
+ [localization]: #localization
426
+ [localization.general]: #localization.general
427
+ [localization.summary]: #localization.summary
428
+ [namespace.std]: library.md#namespace.std
429
+ [ostream.formatted.reqmts]: input.md#ostream.formatted.reqmts
430
+ [output.iterators]: iterators.md#output.iterators
431
+ [re]: #re
432
+ [re.alg]: #re.alg
433
+ [re.alg.match]: #re.alg.match
434
+ [re.alg.replace]: #re.alg.replace
435
+ [re.alg.search]: #re.alg.search
436
+ [re.badexp]: #re.badexp
437
+ [re.const]: #re.const
438
+ [re.const.general]: #re.const.general
439
+ [re.err]: #re.err
440
+ [re.except]: #re.except
441
+ [re.general]: #re.general
442
+ [re.grammar]: #re.grammar
443
+ [re.iter]: #re.iter
444
+ [re.matchflag]: #re.matchflag
445
+ [re.regex]: #re.regex
446
+ [re.regex.assign]: #re.regex.assign
447
+ [re.regex.construct]: #re.regex.construct
448
+ [re.regex.general]: #re.regex.general
449
+ [re.regex.locale]: #re.regex.locale
450
+ [re.regex.nonmemb]: #re.regex.nonmemb
451
+ [re.regex.operations]: #re.regex.operations
452
+ [re.regex.swap]: #re.regex.swap
453
+ [re.regiter]: #re.regiter
454
+ [re.regiter.cnstr]: #re.regiter.cnstr
455
+ [re.regiter.comp]: #re.regiter.comp
456
+ [re.regiter.deref]: #re.regiter.deref
457
+ [re.regiter.general]: #re.regiter.general
458
+ [re.regiter.incr]: #re.regiter.incr
459
+ [re.req]: #re.req
460
+ [re.results]: #re.results
461
+ [re.results.acc]: #re.results.acc
462
+ [re.results.all]: #re.results.all
463
+ [re.results.const]: #re.results.const
464
+ [re.results.form]: #re.results.form
465
+ [re.results.general]: #re.results.general
466
+ [re.results.nonmember]: #re.results.nonmember
467
+ [re.results.size]: #re.results.size
468
+ [re.results.state]: #re.results.state
469
+ [re.results.swap]: #re.results.swap
470
+ [re.submatch]: #re.submatch
471
+ [re.submatch.general]: #re.submatch.general
472
+ [re.submatch.members]: #re.submatch.members
473
+ [re.submatch.op]: #re.submatch.op
474
+ [re.summary]: #re.summary
475
+ [re.syn]: #re.syn
476
+ [re.synopt]: #re.synopt
477
+ [re.tokiter]: #re.tokiter
478
+ [re.tokiter.cnstr]: #re.tokiter.cnstr
479
+ [re.tokiter.comp]: #re.tokiter.comp
480
+ [re.tokiter.deref]: #re.tokiter.deref
481
+ [re.tokiter.general]: #re.tokiter.general
482
+ [re.tokiter.incr]: #re.tokiter.incr
483
+ [re.traits]: #re.traits
484
+ [re.traits.classnames]: #re.traits.classnames
485
+ [res.on.data.races]: library.md#res.on.data.races
486
+ [res.on.exception.handling]: library.md#res.on.exception.handling
487
+ [round.style]: support.md#round.style
488
+ [sequence.reqmts]: containers.md#sequence.reqmts
489
+ [setlocale.data.races]: #setlocale.data.races
490
+ [strings.general]: strings.md#strings.general
491
+ [support.runtime]: support.md#support.runtime
492
+ [swappable.requirements]: library.md#swappable.requirements
493
+ [tab:locale.category.facets]: #tab:locale.category.facets
494
+ [tab:locale.spec]: #tab:locale.spec
495
+ [term.trivially.copyable.type]: basic.md#term.trivially.copyable.type
496
+ [text]: #text
497
+ [text.c.strings]: #text.c.strings
498
+ [text.encoding]: #text.encoding
499
+ [text.encoding.aliases]: #text.encoding.aliases
500
+ [text.encoding.class]: #text.encoding.class
501
+ [text.encoding.cmp]: #text.encoding.cmp
502
+ [text.encoding.general]: #text.encoding.general
503
+ [text.encoding.hash]: #text.encoding.hash
504
+ [text.encoding.id]: #text.encoding.id
505
+ [text.encoding.members]: #text.encoding.members
506
+ [text.encoding.overview]: #text.encoding.overview
507
+ [text.encoding.syn]: #text.encoding.syn
508
+ [text.general]: #text.general
509
+ [text.summary]: #text.summary
510
+ [time.format]: time.md#time.format
511
+ [unord.hash]: utilities.md#unord.hash
512
+ [vector]: containers.md#vector
513
+
514
+ [^1]: In this subclause, the type name `tm` is an incomplete type that
515
+ is defined in `<ctime>`.
516
+
517
+ [^2]: Note that in the call to `put`, the stream is implicitly converted
518
+ to an `ostreambuf_iterator<charT, traits>`.
519
+
520
+ [^3]: This is a complete list of requirements; there are no other
521
+ requirements. Thus, a facet class need not have a public copy
522
+ constructor, assignment, default constructor, destructor, etc.
523
+
524
+ [^4]: When used in a loop, it is faster to cache the `ctype<>` facet and
525
+ use it directly, or use the vector form of `ctype<>::is`.
526
+
527
+ [^5]: The parameter `c` of `do_widen` is intended to accept values
528
+ derived from *character-literal*s for conversion to the locale’s
529
+ encoding.
530
+
531
+ [^6]: In other words, the transformed character is not a member of any
532
+ character classification that `c` is not also a member of.
533
+
534
+ [^7]: Only the `char` (not `unsigned char` and `signed char`) form is
535
+ provided. The specialization is specified in the standard, and not
536
+ left as an implementation detail, because it affects the derivation
537
+ interface for `ctype<char>`.
538
+
539
+ [^8]: Informally, this means that `basic_filebuf` assumes that the
540
+ mappings from internal to external characters is 1 to N: that a
541
+ `codecvt` facet that is used by `basic_filebuf` can translate
542
+ characters one internal character at a time.
543
+
544
+ [^9]: Typically these will be characters to return the state to
545
+ `stateT()`.
546
+
547
+ [^10]: If `encoding()` yields `-1`, then more than `max_length()`
548
+ `externT` elements can be consumed when producing a single `internT`
549
+ character, and additional `externT` elements can appear at the end
550
+ of a sequence after those that yield the final `internT` character.
551
+
552
+ [^11]: Parsing `"-1"` correctly into, e.g., an `unsigned short` requires
553
+ that the corresponding member `get()` at least extract the sign
554
+ before delegating.
555
+
556
+ [^12]: The conversion specification `#o` generates a leading `0` which
557
+ is *not* a padding character.
558
+
559
+ [^13]: Thus, the string `"\003"` specifies groups of 3 digits each, and
560
+ `"3"` probably indicates groups of 51 (!) digits each, because 51 is
561
+ the ASCII value of `"3"`.
562
+
563
+ [^14]: This function is useful when one string is being compared to many
564
+ other strings.
565
+
566
+ [^15]: In other words, user confirmation is required for reliable
567
+ parsing of user-entered dates and times, but machine-generated
568
+ formats can be parsed reliably. This allows parsers to be aggressive
569
+ about interpreting user variations on standard formats.
570
+
571
+ [^16]: This function is intended as a convenience only, for common
572
+ formats, and can return `no_order` in valid locales.
573
+
574
+ [^17]: The semantics here are different from `ct.narrow`.
575
+
576
+ [^18]: An array of `char`, rather than an array of `part`, is specified
577
+ for `pattern::field` purely for efficiency.
578
+
579
+ [^19]: In common U.S. locales this is `’.’`.
580
+
581
+ [^20]: In common U.S. locales this is `’,’`.
582
+
583
+ [^21]: To specify grouping by 3s, the value is `"\003"` *not* `"3"`.
584
+
585
+ [^22]: This is usually the empty string.
586
+
587
+ [^23]: In common U.S. locales, this is 2.
588
+
589
+ [^24]: Note that the international symbol returned by `do_curr_symbol()`
590
+ usually contains a space, itself; for example, `"USD "`.
591
+
592
+ [^25]: Windows® is a registered trademark of Microsoft Corporation. This
593
+ information is given for the convenience of users of this document
594
+ and does not constitute an endorsement by ISO or IEC of this
595
+ product.
596
+
597
+ [^26]: For example, if the parameter `icase` is `true` then
598
+ `[[:lower:]]` is the same as `[[:alpha:]]`.