annotate libcxx/include/cuchar @ 266:00f31e85ec16 default tip

Added tag current for changeset 31d058e83c98
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Sat, 14 Oct 2023 10:13:55 +0900
parents c4bab56944e8
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
236
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
1 // -*- C++ -*-
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
2 //===----------------------------------------------------------------------===//
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
3 //
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
4 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
5 // See https://llvm.org/LICENSE.txt for license information.
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
6 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
7 //
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
8 //===----------------------------------------------------------------------===//
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
9
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
10 #ifndef _LIBCPP_CUCHAR
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
11 #define _LIBCPP_CUCHAR
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
12
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
13 /*
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
14 cuchar synopsis // since C++11
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
15
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
16 Macros:
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
17
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
18 __STDC_UTF_16__
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
19 __STDC_UTF_32__
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
20
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
21 namespace std {
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
22
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
23 Types:
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
24
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
25 mbstate_t
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
26 size_t
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
27
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
28 size_t mbrtoc8(char8_t* pc8, const char* s, size_t n, mbstate_t* ps); // since C++20
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
29 size_t c8rtomb(char* s, char8_t c8, mbstate_t* ps); // since C++20
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
30 size_t mbrtoc16(char16_t* pc16, const char* s, size_t n, mbstate_t* ps);
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
31 size_t c16rtomb(char* s, char16_t c16, mbstate_t* ps);
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
32 size_t mbrtoc32(char32_t* pc32, const char* s, size_t n, mbstate_t* ps);
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
33 size_t c32rtomb(char* s, char32_t c32, mbstate_t* ps);
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
34
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
35 } // std
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
36
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
37 */
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
38
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
39 #include <__assert> // all public C++ headers provide the assertion handler
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
40 #include <__config>
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
41
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
42 #include <uchar.h>
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
43
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
44 #ifndef _LIBCPP_UCHAR_H
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
45 # error <cuchar> tried including <uchar.h> but didn't find libc++'s <uchar.h> header. \
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
46 This usually means that your header search paths are not configured properly. \
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
47 The header search paths should contain the C++ Standard Library headers before \
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
48 any C Standard Library, and you are probably using compiler flags that make that \
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
49 not be the case.
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
50 #endif
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
51
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
52 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
53 # pragma GCC system_header
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
54 #endif
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
55
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
56 _LIBCPP_BEGIN_NAMESPACE_STD
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
57
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
58 #if !defined(_LIBCPP_CXX03_LANG)
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
59
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
60 using ::mbstate_t _LIBCPP_USING_IF_EXISTS;
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
61 using ::size_t _LIBCPP_USING_IF_EXISTS;
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
62
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
63 # if !defined(_LIBCPP_HAS_NO_C8RTOMB_MBRTOC8)
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
64 using ::mbrtoc8 _LIBCPP_USING_IF_EXISTS;
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
65 using ::c8rtomb _LIBCPP_USING_IF_EXISTS;
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
66 # endif
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
67 using ::mbrtoc16 _LIBCPP_USING_IF_EXISTS;
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
68 using ::c16rtomb _LIBCPP_USING_IF_EXISTS;
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
69 using ::mbrtoc32 _LIBCPP_USING_IF_EXISTS;
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
70 using ::c32rtomb _LIBCPP_USING_IF_EXISTS;
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
71
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
72 #endif // _LIBCPP_CXX03_LANG
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
73
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
74 _LIBCPP_END_NAMESPACE_STD
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
75
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
76 #endif // _LIBCPP_CUCHAR