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