mastodonpp  0.0.0
__strtonum_fallback.h
1 // -*- C++ -*-
2 //===-------------- support/xlocale/__strtonum_fallback.h -----------------===//
3 //
4 // The LLVM Compiler Infrastructure
5 //
6 // This file is dual licensed under the MIT and the University of Illinois Open
7 // Source Licenses. See LICENSE.TXT for details.
8 //
9 //===----------------------------------------------------------------------===//
10 // These are reimplementations of some extended locale functions ( *_l ) that
11 // aren't part of POSIX. They are widely available though (GLIBC, BSD, maybe
12 // others). The unifying aspect in this case is that all of these functions
13 // convert strings to some numeric type.
14 //===----------------------------------------------------------------------===//
15 
16 #ifndef _LIBCPP_SUPPORT_XLOCALE_STRTONUM_FALLBACK_H
17 #define _LIBCPP_SUPPORT_XLOCALE_STRTONUM_FALLBACK_H
18 
19 #ifdef __cplusplus
20 extern "C" {
21 #endif
22 
23 inline _LIBCPP_INLINE_VISIBILITY float strtof_l(const char *nptr,
24  char **endptr, locale_t) {
25  return ::strtof(nptr, endptr);
26 }
27 
28 inline _LIBCPP_INLINE_VISIBILITY double strtod_l(const char *nptr,
29  char **endptr, locale_t) {
30  return ::strtod(nptr, endptr);
31 }
32 
33 inline _LIBCPP_INLINE_VISIBILITY long double strtold_l(const char *nptr,
34  char **endptr, locale_t) {
35  return ::strtold(nptr, endptr);
36 }
37 
38 inline _LIBCPP_INLINE_VISIBILITY long long
39 strtoll_l(const char *nptr, char **endptr, int base, locale_t) {
40  return ::strtoll(nptr, endptr, base);
41 }
42 
43 inline _LIBCPP_INLINE_VISIBILITY unsigned long long
44 strtoull_l(const char *nptr, char **endptr, int base, locale_t) {
45  return ::strtoull(nptr, endptr, base);
46 }
47 
48 inline _LIBCPP_INLINE_VISIBILITY long long
49 wcstoll_l(const wchar_t *nptr, wchar_t **endptr, int base, locale_t) {
50  return ::wcstoll(nptr, endptr, base);
51 }
52 
53 inline _LIBCPP_INLINE_VISIBILITY unsigned long long
54 wcstoull_l(const wchar_t *nptr, wchar_t **endptr, int base, locale_t) {
55  return ::wcstoull(nptr, endptr, base);
56 }
57 
58 inline _LIBCPP_INLINE_VISIBILITY long double wcstold_l(const wchar_t *nptr,
59  wchar_t **endptr, locale_t) {
60  return ::wcstold(nptr, endptr);
61 }
62 
63 #ifdef __cplusplus
64 }
65 #endif
66 
67 #endif // _LIBCPP_SUPPORT_XLOCALE_STRTONUM_FALLBACK_H
locale_t
Definition: locale_win32.h:32