1*5f757f3fSDimitry Andric// -*- C++ -*- 2*5f757f3fSDimitry Andric//===----------------------------------------------------------------------===// 3*5f757f3fSDimitry Andric// 4*5f757f3fSDimitry Andric// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 5*5f757f3fSDimitry Andric// See https://llvm.org/LICENSE.txt for license information. 6*5f757f3fSDimitry Andric// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 7*5f757f3fSDimitry Andric// 8*5f757f3fSDimitry Andric//===----------------------------------------------------------------------===// 9*5f757f3fSDimitry Andric 10*5f757f3fSDimitry Andricexport namespace std { 11*5f757f3fSDimitry Andric // Note the Standard does not mark these symbols optional, but libc++'s header 12*5f757f3fSDimitry Andric // does. So this seems strictly not to be conforming. 13*5f757f3fSDimitry Andric 14*5f757f3fSDimitry Andric // mbstate_t is conditionally here, but always present in cwchar.cppm. To avoid 15*5f757f3fSDimitry Andric // conflicing declarations omit the using here. 16*5f757f3fSDimitry Andric 17*5f757f3fSDimitry Andric // size_t is conditionally here, but always present in cstddef.cppm. To avoid 18*5f757f3fSDimitry Andric // conflicing declarations omit the using here. 19*5f757f3fSDimitry Andric 20*5f757f3fSDimitry Andric#if !defined(_LIBCPP_HAS_NO_C8RTOMB_MBRTOC8) 21*5f757f3fSDimitry Andric using std::mbrtoc8 _LIBCPP_USING_IF_EXISTS; 22*5f757f3fSDimitry Andric using std::c8rtomb _LIBCPP_USING_IF_EXISTS; 23*5f757f3fSDimitry Andric#endif 24*5f757f3fSDimitry Andric using std::mbrtoc16 _LIBCPP_USING_IF_EXISTS; 25*5f757f3fSDimitry Andric using std::c16rtomb _LIBCPP_USING_IF_EXISTS; 26*5f757f3fSDimitry Andric using std::mbrtoc32 _LIBCPP_USING_IF_EXISTS; 27*5f757f3fSDimitry Andric using std::c32rtomb _LIBCPP_USING_IF_EXISTS; 28*5f757f3fSDimitry Andric} // namespace std 29