1 | // -*- C++ -*- |
2 | //===----------------------------------------------------------------------===// |
3 | // |
4 | // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. |
5 | // See https://llvm.org/LICENSE.txt for license information. |
6 | // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception |
7 | // |
8 | //===----------------------------------------------------------------------===// |
9 | |
10 | #ifndef _LIBCPP_CLOCALE |
11 | #define _LIBCPP_CLOCALE |
12 | |
13 | /* |
14 | clocale synopsis |
15 | |
16 | Macros: |
17 | |
18 | LC_ALL |
19 | LC_COLLATE |
20 | LC_CTYPE |
21 | LC_MONETARY |
22 | LC_NUMERIC |
23 | LC_TIME |
24 | NULL |
25 | |
26 | namespace std |
27 | { |
28 | |
29 | struct lconv; |
30 | char* setlocale(int category, const char* locale); |
31 | lconv* localeconv(); |
32 | |
33 | } // std |
34 | |
35 | */ |
36 | |
37 | #include <__config> |
38 | |
39 | #include <locale.h> |
40 | |
41 | #ifndef _LIBCPP_LOCALE_H |
42 | # error <clocale> tried including <locale.h> but didn't find libc++'s <locale.h> header. \ |
43 | This usually means that your header search paths are not configured properly. \ |
44 | The header search paths should contain the C++ Standard Library headers before \ |
45 | any C Standard Library, and you are probably using compiler flags that make that \ |
46 | not be the case. |
47 | #endif |
48 | |
49 | #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) |
50 | # pragma GCC system_header |
51 | #endif |
52 | |
53 | _LIBCPP_BEGIN_NAMESPACE_STD |
54 | |
55 | using ::lconv _LIBCPP_USING_IF_EXISTS; |
56 | using ::setlocale _LIBCPP_USING_IF_EXISTS; |
57 | using ::localeconv _LIBCPP_USING_IF_EXISTS; |
58 | |
59 | _LIBCPP_END_NAMESPACE_STD |
60 | |
61 | #endif // _LIBCPP_CLOCALE |
62 | |