From Jason Turner

[clocale.syn]

Diff to HTML by rtfpessoa

Files changed (1) hide show
  1. tmp/tmpydmmbpn2/{from.md → to.md} +0 -212
tmp/tmpydmmbpn2/{from.md → to.md} RENAMED
@@ -18,217 +18,5 @@ namespace std {
18
  ```
19
 
20
  The contents and meaning of the header `<clocale>` are the same as the C
21
  standard library header `<locale.h>`.
22
 
23
- Calls to the function `setlocale` may introduce a data race
24
- [[res.on.data.races]] with other calls to `setlocale` or with calls to
25
- the functions listed in [[setlocale.data.races]].
26
-
27
- See also: ISO C 7.11
28
-
29
- **Table: Potential `setlocale` data races** <a id="setlocale.data.races">[setlocale.data.races]</a>
30
-
31
- | | | | | |
32
- | --------- | ---------- | ----------- | ------------ | ---------- |
33
- | `fprintf` | `isprint` | `iswdigit` | `localeconv` | `tolower` |
34
- | `fscanf` | `ispunct` | `iswgraph` | `mblen` | `toupper` |
35
- | `isalnum` | `isspace` | `iswlower` | `mbstowcs` | `towlower` |
36
- | `isalpha` | `isupper` | `iswprint` | `mbtowc` | `towupper` |
37
- | `isblank` | `iswalnum` | `iswpunct` | `setlocale` | `wcscoll` |
38
- | `iscntrl` | `iswalpha` | `iswspace` | `strcoll` | `wcstod` |
39
- | `isdigit` | `iswblank` | `iswupper` | `strerror` | `wcstombs` |
40
- | `isgraph` | `iswcntrl` | `iswxdigit` | `strtod` | `wcsxfrm` |
41
- | `islower` | `iswctype` | `isxdigit` | `strxfrm` | `wctomb` |
42
-
43
-
44
-
45
- <!-- Link reference definitions -->
46
- [alg.lex.comparison]: algorithms.md#alg.lex.comparison
47
- [alg.sort]: algorithms.md#alg.sort
48
- [algorithms]: algorithms.md#algorithms
49
- [basic.start.static]: basic.md#basic.start.static
50
- [bitmask.types]: library.md#bitmask.types
51
- [c.files]: input.md#c.files
52
- [c.locales]: #c.locales
53
- [category.collate]: #category.collate
54
- [category.ctype]: #category.ctype
55
- [category.messages]: #category.messages
56
- [category.monetary]: #category.monetary
57
- [category.numeric]: #category.numeric
58
- [category.time]: #category.time
59
- [classification]: #classification
60
- [clocale.syn]: #clocale.syn
61
- [conversions]: #conversions
62
- [conversions.character]: #conversions.character
63
- [facet.ctype.char.dtor]: #facet.ctype.char.dtor
64
- [facet.ctype.char.members]: #facet.ctype.char.members
65
- [facet.ctype.char.statics]: #facet.ctype.char.statics
66
- [facet.ctype.char.virtuals]: #facet.ctype.char.virtuals
67
- [facet.ctype.special]: #facet.ctype.special
68
- [facet.num.get.members]: #facet.num.get.members
69
- [facet.num.get.virtuals]: #facet.num.get.virtuals
70
- [facet.num.put.members]: #facet.num.put.members
71
- [facet.num.put.virtuals]: #facet.num.put.virtuals
72
- [facet.numpunct]: #facet.numpunct
73
- [facet.numpunct.members]: #facet.numpunct.members
74
- [facet.numpunct.virtuals]: #facet.numpunct.virtuals
75
- [file.streams]: input.md#file.streams
76
- [ios.base]: input.md#ios.base
77
- [istream.formatted]: input.md#istream.formatted
78
- [istream.formatted.reqmts]: input.md#istream.formatted.reqmts
79
- [iterator.requirements]: iterators.md#iterator.requirements
80
- [lex.charset]: lex.md#lex.charset
81
- [locale]: #locale
82
- [locale.categories]: #locale.categories
83
- [locale.category]: #locale.category
84
- [locale.category.facets]: #locale.category.facets
85
- [locale.codecvt]: #locale.codecvt
86
- [locale.codecvt.byname]: #locale.codecvt.byname
87
- [locale.codecvt.inout]: #locale.codecvt.inout
88
- [locale.codecvt.members]: #locale.codecvt.members
89
- [locale.codecvt.unshift]: #locale.codecvt.unshift
90
- [locale.codecvt.virtuals]: #locale.codecvt.virtuals
91
- [locale.collate]: #locale.collate
92
- [locale.collate.byname]: #locale.collate.byname
93
- [locale.collate.members]: #locale.collate.members
94
- [locale.collate.virtuals]: #locale.collate.virtuals
95
- [locale.cons]: #locale.cons
96
- [locale.convenience]: #locale.convenience
97
- [locale.ctype]: #locale.ctype
98
- [locale.ctype.byname]: #locale.ctype.byname
99
- [locale.ctype.members]: #locale.ctype.members
100
- [locale.ctype.virtuals]: #locale.ctype.virtuals
101
- [locale.facet]: #locale.facet
102
- [locale.global.templates]: #locale.global.templates
103
- [locale.id]: #locale.id
104
- [locale.members]: #locale.members
105
- [locale.messages]: #locale.messages
106
- [locale.messages.byname]: #locale.messages.byname
107
- [locale.messages.members]: #locale.messages.members
108
- [locale.messages.virtuals]: #locale.messages.virtuals
109
- [locale.money.get]: #locale.money.get
110
- [locale.money.get.members]: #locale.money.get.members
111
- [locale.money.get.virtuals]: #locale.money.get.virtuals
112
- [locale.money.put]: #locale.money.put
113
- [locale.money.put.members]: #locale.money.put.members
114
- [locale.money.put.virtuals]: #locale.money.put.virtuals
115
- [locale.moneypunct]: #locale.moneypunct
116
- [locale.moneypunct.byname]: #locale.moneypunct.byname
117
- [locale.moneypunct.members]: #locale.moneypunct.members
118
- [locale.moneypunct.virtuals]: #locale.moneypunct.virtuals
119
- [locale.nm.put]: #locale.nm.put
120
- [locale.num.get]: #locale.num.get
121
- [locale.numpunct]: #locale.numpunct
122
- [locale.numpunct.byname]: #locale.numpunct.byname
123
- [locale.operators]: #locale.operators
124
- [locale.spec]: #locale.spec
125
- [locale.statics]: #locale.statics
126
- [locale.syn]: #locale.syn
127
- [locale.time.get]: #locale.time.get
128
- [locale.time.get.byname]: #locale.time.get.byname
129
- [locale.time.get.dogetdate]: #locale.time.get.dogetdate
130
- [locale.time.get.members]: #locale.time.get.members
131
- [locale.time.get.virtuals]: #locale.time.get.virtuals
132
- [locale.time.put]: #locale.time.put
133
- [locale.time.put.byname]: #locale.time.put.byname
134
- [locale.time.put.members]: #locale.time.put.members
135
- [locale.time.put.virtuals]: #locale.time.put.virtuals
136
- [locale.types]: #locale.types
137
- [locales]: #locales
138
- [localization]: #localization
139
- [localization.general]: #localization.general
140
- [localization.summary]: #localization.summary
141
- [ostream.formatted.reqmts]: input.md#ostream.formatted.reqmts
142
- [res.on.data.races]: library.md#res.on.data.races
143
- [sequence.reqmts]: containers.md#sequence.reqmts
144
- [setlocale.data.races]: #setlocale.data.races
145
- [tab:locale.category.facets]: #tab:locale.category.facets
146
- [tab:locale.spec]: #tab:locale.spec
147
- [vector]: containers.md#vector
148
-
149
- [^1]: In this subclause, the type name `struct tm` is an incomplete type
150
- that is defined in `<ctime>`.
151
-
152
- [^2]: Note that in the call to `put`, the stream is implicitly converted
153
- to an `ostreambuf_iterator<charT, traits>`.
154
-
155
- [^3]: This is a complete list of requirements; there are no other
156
- requirements. Thus, a facet class need not have a public copy
157
- constructor, assignment, default constructor, destructor, etc.
158
-
159
- [^4]: When used in a loop, it is faster to cache the `ctype<>` facet and
160
- use it directly, or use the vector form of `ctype<>::is`.
161
-
162
- [^5]: The char argument of `do_widen` is intended to accept values
163
- derived from *character-literal*s for conversion to the locale’s
164
- encoding.
165
-
166
- [^6]: In other words, the transformed character is not a member of any
167
- character classification that `c` is not also a member of.
168
-
169
- [^7]: Only the `char` (not `unsigned char` and `signed char`) form is
170
- provided. The specialization is specified in the standard, and not
171
- left as an implementation detail, because it affects the derivation
172
- interface for `ctype<char>`.
173
-
174
- [^8]: Informally, this means that `basic_filebuf` assumes that the
175
- mappings from internal to external characters is 1 to N: a `codecvt`
176
- facet that is used by `basic_filebuf` must be able to translate
177
- characters one internal character at a time.
178
-
179
- [^9]: Typically these will be characters to return the state to
180
- `stateT()`.
181
-
182
- [^10]: If `encoding()` yields `-1`, then more than `max_length()`
183
- `externT` elements may be consumed when producing a single `internT`
184
- character, and additional `externT` elements may appear at the end
185
- of a sequence after those that yield the final `internT` character.
186
-
187
- [^11]: Parsing `"-1"` correctly into, e.g., an `unsigned short` requires
188
- that the corresponding member `get()` at least extract the sign
189
- before delegating.
190
-
191
- [^12]: The conversion specification `#o` generates a leading `0` which
192
- is *not* a padding character.
193
-
194
- [^13]: Thus, the string `"\003"` specifies groups of 3 digits each, and
195
- `"3"` probably indicates groups of 51 (!) digits each, because 51 is
196
- the ASCII value of `"3"`.
197
-
198
- [^14]: This function is useful when one string is being compared to many
199
- other strings.
200
-
201
- [^15]: In other words, user confirmation is required for reliable
202
- parsing of user-entered dates and times, but machine-generated
203
- formats can be parsed reliably. This allows parsers to be aggressive
204
- about interpreting user variations on standard formats.
205
-
206
- [^16]: This function is intended as a convenience only, for common
207
- formats, and may return `no_order` in valid locales.
208
-
209
- [^17]: Although the C programming language defines no modifiers, most
210
- vendors do.
211
-
212
- [^18]: Interpretation of the `modifier` argument is
213
- implementation-defined, but should follow POSIX conventions.
214
-
215
- [^19]: Implementations should refer to other standards such as POSIX for
216
- these definitions.
217
-
218
- [^20]: The semantics here are different from `ct.narrow`.
219
-
220
- [^21]: An array of `char`, rather than an array of `part`, is specified
221
- for `pattern::field` purely for efficiency.
222
-
223
- [^22]: In common U.S. locales this is `’.’`.
224
-
225
- [^23]: In common U.S. locales this is `’,’`.
226
-
227
- [^24]: To specify grouping by 3s, the value is `"\003"` *not* `"3"`.
228
-
229
- [^25]: This is usually the empty string.
230
-
231
- [^26]: In common U.S. locales, this is 2.
232
-
233
- [^27]: Note that the international symbol returned by `do_curr_symbol()`
234
- usually contains a space, itself; for example, `"USD "`.
 
18
  ```
19
 
20
  The contents and meaning of the header `<clocale>` are the same as the C
21
  standard library header `<locale.h>`.
22