|
23 | 23 | // Variadic functions may be implemented as templates with a parameter pack instead |
24 | 24 | // of C-style variadic functions. |
25 | 25 | // |
| 26 | +// Most of these functions are only required when building the library. Functions that are also |
| 27 | +// required when merely using the headers are marked as such below. |
| 28 | +// |
26 | 29 | // TODO: I think __uselocale() is not necessary if we refactor a bit. |
27 | 30 | // TODO: __localeconv shouldn't take a reference, but the Windows implementation doesn't allow copying __locale_t |
| 31 | +// TODO: Eliminate the need for any of these functions from the headers. |
28 | 32 | // |
29 | 33 | // Locale management |
30 | 34 | // ----------------- |
31 | 35 | // namespace __locale { |
32 | | -// using __locale_t = implementation-defined; |
| 36 | +// using __locale_t = implementation-defined; // required by the headers |
33 | 37 | // __locale_t __uselocale(__locale_t); |
34 | 38 | // __locale_t __newlocale(int, const char*, __locale_t); |
35 | 39 | // void __freelocale(__locale_t); |
|
51 | 55 | // namespace __locale { |
52 | 56 | // int __islower(int, __locale_t); |
53 | 57 | // int __isupper(int, __locale_t); |
54 | | -// int __isdigit(int, __locale_t); |
55 | | -// int __isxdigit(int, __locale_t); |
| 58 | +// int __isdigit(int, __locale_t); // required by the headers |
| 59 | +// int __isxdigit(int, __locale_t); // required by the headers |
56 | 60 | // int __toupper(int, __locale_t); |
57 | 61 | // int __tolower(int, __locale_t); |
58 | 62 | // int __strcoll(const char*, const char*, __locale_t); |
|
89 | 93 | // int __mbtowc(wchar_t*, const char*, size_t, __locale_t); |
90 | 94 | // size_t __mbrlen(const char*, size_t, mbstate_t*, __locale_t); |
91 | 95 | // size_t __mbsrtowcs(wchar_t*, const char**, size_t, mbstate_t*, __locale_t); |
92 | | -// int __snprintf(char*, size_t, __locale_t, const char*, ...); |
93 | | -// int __asprintf(char**, __locale_t, const char*, ...); |
94 | | -// int __sscanf(const char*, __locale_t, const char*, ...); |
| 96 | +// |
| 97 | +// int __snprintf(char*, size_t, __locale_t, const char*, ...); // required by the headers |
| 98 | +// int __asprintf(char**, __locale_t, const char*, ...); // required by the headers |
| 99 | +// int __sscanf(const char*, __locale_t, const char*, ...); // required by the headers |
95 | 100 | // } |
96 | 101 |
|
97 | 102 | #if defined(__APPLE__) |
|
0 commit comments