xref: /llvm-project-15.0.7/libcxx/include/cuchar (revision 385cc25a)
1311ff391SLouis Dionne// -*- C++ -*-
2311ff391SLouis Dionne//===----------------------------------------------------------------------===//
3311ff391SLouis Dionne//
4311ff391SLouis Dionne// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
5311ff391SLouis Dionne// See https://llvm.org/LICENSE.txt for license information.
6311ff391SLouis Dionne// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7311ff391SLouis Dionne//
8311ff391SLouis Dionne//===----------------------------------------------------------------------===//
9311ff391SLouis Dionne
10311ff391SLouis Dionne#ifndef _LIBCPP_CUCHAR
11311ff391SLouis Dionne#define _LIBCPP_CUCHAR
12311ff391SLouis Dionne
13311ff391SLouis Dionne/*
14311ff391SLouis Dionne    cuchar synopsis // since C++11
15311ff391SLouis Dionne
16311ff391SLouis DionneMacros:
17311ff391SLouis Dionne
18311ff391SLouis Dionne    __STDC_UTF_16__
19311ff391SLouis Dionne    __STDC_UTF_32__
20311ff391SLouis Dionne
21311ff391SLouis Dionnenamespace std {
22311ff391SLouis Dionne
23311ff391SLouis DionneTypes:
24311ff391SLouis Dionne
25311ff391SLouis Dionne  mbstate_t
26311ff391SLouis Dionne  size_t
27311ff391SLouis Dionne
28311ff391SLouis Dionnesize_t mbrtoc16(char16_t* pc16, const char* s, size_t n, mbstate_t* ps);
29311ff391SLouis Dionnesize_t c16rtomb(char* s, char16_t c16, mbstate_t* ps);
30311ff391SLouis Dionnesize_t mbrtoc32(char32_t* pc32, const char* s, size_t n, mbstate_t* ps);
31311ff391SLouis Dionnesize_t c32rtomb(char* s, char32_t c32, mbstate_t* ps);
32311ff391SLouis Dionne
33311ff391SLouis Dionne} // std
34311ff391SLouis Dionne
35311ff391SLouis Dionne*/
36311ff391SLouis Dionne
37*385cc25aSLouis Dionne#include <__assert> // all public C++ headers provide the assertion handler
38311ff391SLouis Dionne#include <__config>
39311ff391SLouis Dionne#include <uchar.h>
40311ff391SLouis Dionne
41311ff391SLouis Dionne#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
42311ff391SLouis Dionne#  pragma GCC system_header
43311ff391SLouis Dionne#endif
44311ff391SLouis Dionne
45311ff391SLouis Dionne_LIBCPP_BEGIN_NAMESPACE_STD
46311ff391SLouis Dionne
47311ff391SLouis Dionne#if !defined(_LIBCPP_CXX03_LANG)
48311ff391SLouis Dionne
49311ff391SLouis Dionneusing ::mbstate_t _LIBCPP_USING_IF_EXISTS;
50311ff391SLouis Dionneusing ::size_t _LIBCPP_USING_IF_EXISTS;
51311ff391SLouis Dionne
52311ff391SLouis Dionneusing ::mbrtoc16 _LIBCPP_USING_IF_EXISTS;
53311ff391SLouis Dionneusing ::c16rtomb _LIBCPP_USING_IF_EXISTS;
54311ff391SLouis Dionneusing ::mbrtoc32 _LIBCPP_USING_IF_EXISTS;
55311ff391SLouis Dionneusing ::c32rtomb _LIBCPP_USING_IF_EXISTS;
56311ff391SLouis Dionne
57311ff391SLouis Dionne#endif // _LIBCPP_CXX03_LANG
58311ff391SLouis Dionne
59311ff391SLouis Dionne_LIBCPP_END_NAMESPACE_STD
60311ff391SLouis Dionne
61311ff391SLouis Dionne#endif  // _LIBCPP_CUCHAR
62