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