xref: /openbsd-src/gnu/llvm/libcxx/include/clocale (revision 4bdff4bed0e3d54e55670334c7d0077db4170f86)
146035553Spatrick// -*- C++ -*-
2*4bdff4beSrobert//===----------------------------------------------------------------------===//
346035553Spatrick//
446035553Spatrick// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
546035553Spatrick// See https://llvm.org/LICENSE.txt for license information.
646035553Spatrick// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
746035553Spatrick//
846035553Spatrick//===----------------------------------------------------------------------===//
946035553Spatrick
1046035553Spatrick#ifndef _LIBCPP_CLOCALE
1146035553Spatrick#define _LIBCPP_CLOCALE
1246035553Spatrick
1346035553Spatrick/*
1446035553Spatrick    clocale synopsis
1546035553Spatrick
1646035553SpatrickMacros:
1746035553Spatrick
1846035553Spatrick    LC_ALL
1946035553Spatrick    LC_COLLATE
2046035553Spatrick    LC_CTYPE
2146035553Spatrick    LC_MONETARY
2246035553Spatrick    LC_NUMERIC
2346035553Spatrick    LC_TIME
2446035553Spatrick    NULL
2546035553Spatrick
2646035553Spatricknamespace std
2746035553Spatrick{
2846035553Spatrick
2946035553Spatrickstruct lconv;
3046035553Spatrickchar* setlocale(int category, const char* locale);
3146035553Spatricklconv* localeconv();
3246035553Spatrick
3346035553Spatrick}  // std
3446035553Spatrick
3546035553Spatrick*/
3646035553Spatrick
37*4bdff4beSrobert#include <__assert> // all public C++ headers provide the assertion handler
3846035553Spatrick#include <__config>
39*4bdff4beSrobert
4046035553Spatrick#include <locale.h>
4146035553Spatrick
42*4bdff4beSrobert#ifndef _LIBCPP_LOCALE_H
43*4bdff4beSrobert#   error <clocale> tried including <locale.h> but didn't find libc++'s <locale.h> header. \
44*4bdff4beSrobert          This usually means that your header search paths are not configured properly. \
45*4bdff4beSrobert          The header search paths should contain the C++ Standard Library headers before \
46*4bdff4beSrobert          any C Standard Library, and you are probably using compiler flags that make that \
47*4bdff4beSrobert          not be the case.
48*4bdff4beSrobert#endif
49*4bdff4beSrobert
5046035553Spatrick#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
5146035553Spatrick#  pragma GCC system_header
5246035553Spatrick#endif
5346035553Spatrick
5446035553Spatrick_LIBCPP_BEGIN_NAMESPACE_STD
5546035553Spatrick
5676d0caaeSpatrickusing ::lconv _LIBCPP_USING_IF_EXISTS;
5776d0caaeSpatrickusing ::setlocale _LIBCPP_USING_IF_EXISTS;
5876d0caaeSpatrickusing ::localeconv _LIBCPP_USING_IF_EXISTS;
5946035553Spatrick
6046035553Spatrick_LIBCPP_END_NAMESPACE_STD
6146035553Spatrick
6246035553Spatrick#endif // _LIBCPP_CLOCALE
63