2 //===------------------- support/android/locale_bionic.h ------------------===//
4 // The LLVM Compiler Infrastructure
6 // This file is dual licensed under the MIT and the University of Illinois Open
7 // Source Licenses. See LICENSE.TXT for details.
9 //===----------------------------------------------------------------------===//
11 #ifndef _LIBCPP_SUPPORT_ANDROID_LOCALE_BIONIC_H
12 #define _LIBCPP_SUPPORT_ANDROID_LOCALE_BIONIC_H
14 #if defined(__ANDROID__)
23 static inline int isalnum_l(int c, locale_t) {
27 static inline int isalpha_l(int c, locale_t) {
31 static inline int isblank_l(int c, locale_t) {
35 static inline int iscntrl_l(int c, locale_t) {
39 static inline int isdigit_l(int c, locale_t) {
43 static inline int isgraph_l(int c, locale_t) {
47 static inline int islower_l(int c, locale_t) {
51 static inline int isprint_l(int c, locale_t) {
55 static inline int ispunct_l(int c, locale_t) {
59 static inline int isspace_l(int c, locale_t) {
63 static inline int isupper_l(int c, locale_t) {
67 static inline int isxdigit_l(int c, locale_t) {
71 static inline int iswalnum_l(wint_t c, locale_t) {
75 static inline int iswalpha_l(wint_t c, locale_t) {
79 static inline int iswblank_l(wint_t c, locale_t) {
83 static inline int iswcntrl_l(wint_t c, locale_t) {
87 static inline int iswdigit_l(wint_t c, locale_t) {
91 static inline int iswgraph_l(wint_t c, locale_t) {
95 static inline int iswlower_l(wint_t c, locale_t) {
99 static inline int iswprint_l(wint_t c, locale_t) {
103 static inline int iswpunct_l(wint_t c, locale_t) {
107 static inline int iswspace_l(wint_t c, locale_t) {
111 static inline int iswupper_l(wint_t c, locale_t) {
115 static inline int iswxdigit_l(wint_t c, locale_t) {
119 static inline int toupper_l(int c, locale_t) {
123 static inline int tolower_l(int c, locale_t) {
127 static inline int towupper_l(int c, locale_t) {
131 static inline int towlower_l(int c, locale_t) {
135 static inline int strcoll_l(const char *s1, const char *s2, locale_t) {
136 return strcoll(s1, s2);
139 static inline size_t strxfrm_l(char *dest, const char *src, size_t n,
141 return strxfrm(dest, src, n);
144 static inline size_t strftime_l(char *s, size_t max, const char *format,
145 const struct tm *tm, locale_t) {
146 return strftime(s, max, format, tm);
149 static inline int wcscoll_l(const wchar_t *ws1, const wchar_t *ws2, locale_t) {
150 return wcscoll(ws1, ws2);
153 static inline size_t wcsxfrm_l(wchar_t *dest, const wchar_t *src, size_t n,
155 return wcsxfrm(dest, src, n);
158 static inline long double strtold_l(const char *nptr, char **endptr, locale_t) {
159 return strtold(nptr, endptr);
162 static inline long long strtoll_l(const char *nptr, char **endptr, size_t base,
164 return strtoll(nptr, endptr, base);
167 static inline unsigned long long strtoull_l(const char *nptr, char **endptr,
168 size_t base, locale_t) {
169 return strtoull(nptr, endptr, base);
172 static inline long long wcstoll_l(const wchar_t *nptr, wchar_t **endptr,
173 size_t base, locale_t) {
174 return wcstoll(nptr, endptr, base);
177 static inline unsigned long long wcstoull_l(const wchar_t *nptr,
178 wchar_t **endptr, size_t base,
180 return wcstoull(nptr, endptr, base);
183 static inline long double wcstold_l(const wchar_t *nptr, wchar_t **endptr,
185 return wcstold(nptr, endptr);
191 #endif // defined(__ANDROID__)
192 #endif // _LIBCPP_SUPPORT_ANDROID_LOCALE_BIONIC_H