clocale 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. // -*- C++ -*-
  2. //===--------------------------- clocale ----------------------------------===//
  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. #ifndef _LIBCPP_CLOCALE
  11. #define _LIBCPP_CLOCALE
  12. /*
  13. clocale synopsis
  14. Macros:
  15. LC_ALL
  16. LC_COLLATE
  17. LC_CTYPE
  18. LC_MONETARY
  19. LC_NUMERIC
  20. LC_TIME
  21. NULL
  22. namespace std
  23. {
  24. struct lconv;
  25. char* setlocale(int category, const char* locale);
  26. lconv* localeconv();
  27. } // std
  28. */
  29. // Not supported in SGX.
  30. // Locale library impact on enclave size.
  31. #include <__config>
  32. #if !defined(_LIBCPP_SGX_CONFIG)
  33. #include <locale.h>
  34. #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
  35. #pragma GCC system_header
  36. #endif
  37. _LIBCPP_BEGIN_NAMESPACE_STD
  38. using ::lconv;
  39. #ifndef _LIBCPP_HAS_NO_THREAD_UNSAFE_C_FUNCTIONS
  40. using ::setlocale;
  41. #endif
  42. using ::localeconv;
  43. _LIBCPP_END_NAMESPACE_STD
  44. #endif // !defined(_LIBCPP_SGX_CONFIG)
  45. #endif // _LIBCPP_CLOCALE