libstdc++
unicode-data.h
Go to the documentation of this file.
1// Generated by contrib/unicode/gen_libstdcxx_unicode_data.py, do not edit.
2
3// Copyright The GNU Toolchain Authors.
4//
5// This file is part of the GNU ISO C++ Library. This library is free
6// software; you can redistribute it and/or modify it under the
7// terms of the GNU General Public License as published by the
8// Free Software Foundation; either version 3, or (at your option)
9// any later version.
10
11// This library is distributed in the hope that it will be useful,
12// but WITHOUT ANY WARRANTY; without even the implied warranty of
13// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14// GNU General Public License for more details.
15
16// Under Section 7 of GPL version 3, you are granted additional
17// permissions described in the GCC Runtime Library Exception, version
18// 3.1, as published by the Free Software Foundation.
19
20// You should have received a copy of the GNU General Public License and
21// a copy of the GCC Runtime Library Exception along with this program;
22// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
23// <http://www.gnu.org/licenses/>.
24
25/** @file bits/unicode-data.h
26 * This is an internal header file, included by other library headers.
27 * Do not attempt to use it directly. @headername{format}
28 */
29
30#ifndef _GLIBCXX_GET_UNICODE_DATA
31# error "This is not a public header, do not include it directly"
32#elif _GLIBCXX_GET_UNICODE_DATA != 160000
33# error "Version mismatch for Unicode static data"
34#endif
35
36 // Table generated by contrib/unicode/gen_libstdcxx_unicode_data.py,
37 // from EastAsianWidth.txt from the Unicode standard.
38 inline constexpr char32_t __width_edges[] = {
39 0x1100, 0x1160, 0x231a, 0x231c, 0x2329, 0x232b, 0x23e9, 0x23ed,
40 0x23f0, 0x23f1, 0x23f3, 0x23f4, 0x25fd, 0x25ff, 0x2614, 0x2616,
41 0x2630, 0x2638, 0x2648, 0x2654, 0x267f, 0x2680, 0x268a, 0x2690,
42 0x2693, 0x2694, 0x26a1, 0x26a2, 0x26aa, 0x26ac, 0x26bd, 0x26bf,
43 0x26c4, 0x26c6, 0x26ce, 0x26cf, 0x26d4, 0x26d5, 0x26ea, 0x26eb,
44 0x26f2, 0x26f4, 0x26f5, 0x26f6, 0x26fa, 0x26fb, 0x26fd, 0x26fe,
45 0x2705, 0x2706, 0x270a, 0x270c, 0x2728, 0x2729, 0x274c, 0x274d,
46 0x274e, 0x274f, 0x2753, 0x2756, 0x2757, 0x2758, 0x2795, 0x2798,
47 0x27b0, 0x27b1, 0x27bf, 0x27c0, 0x2b1b, 0x2b1d, 0x2b50, 0x2b51,
48 0x2b55, 0x2b56, 0x2e80, 0x2e9a, 0x2e9b, 0x2ef4, 0x2f00, 0x2fd6,
49 0x2ff0, 0x303f, 0x3041, 0x3097, 0x3099, 0x3100, 0x3105, 0x3130,
50 0x3131, 0x318f, 0x3190, 0x31e6, 0x31ef, 0x321f, 0x3220, 0x3248,
51 0x3250, 0xa48d, 0xa490, 0xa4c7, 0xa960, 0xa97d, 0xac00, 0xd7a4,
52 0xf900, 0xfb00, 0xfe10, 0xfe1a, 0xfe30, 0xfe53, 0xfe54, 0xfe67,
53 0xfe68, 0xfe6c, 0xff01, 0xff61, 0xffe0, 0xffe7, 0x16fe0, 0x16fe5,
54 0x16ff0, 0x16ff2, 0x17000, 0x187f8, 0x18800, 0x18cd6, 0x18cff, 0x18d09,
55 0x1aff0, 0x1aff4, 0x1aff5, 0x1affc, 0x1affd, 0x1afff, 0x1b000, 0x1b123,
56 0x1b132, 0x1b133, 0x1b150, 0x1b153, 0x1b155, 0x1b156, 0x1b164, 0x1b168,
57 0x1b170, 0x1b2fc, 0x1d300, 0x1d357, 0x1d360, 0x1d377, 0x1f004, 0x1f005,
58 0x1f0cf, 0x1f0d0, 0x1f18e, 0x1f18f, 0x1f191, 0x1f19b, 0x1f200, 0x1f203,
59 0x1f210, 0x1f23c, 0x1f240, 0x1f249, 0x1f250, 0x1f252, 0x1f260, 0x1f266,
60 0x1f300, 0x1f650, 0x1f680, 0x1f6c6, 0x1f6cc, 0x1f6cd, 0x1f6d0, 0x1f6d3,
61 0x1f6d5, 0x1f6d8, 0x1f6dc, 0x1f6e0, 0x1f6eb, 0x1f6ed, 0x1f6f4, 0x1f6fd,
62 0x1f7e0, 0x1f7ec, 0x1f7f0, 0x1f7f1, 0x1f900, 0x1fa00, 0x1fa70, 0x1fa7d,
63 0x1fa80, 0x1fa8a, 0x1fa8f, 0x1fac7, 0x1face, 0x1fadd, 0x1fadf, 0x1faea,
64 0x1faf0, 0x1faf9, 0x20000, 0x2fffe, 0x30000, 0x3fffe,
65 };
66
67 // Values generated by contrib/unicode/gen_libstdcxx_unicode_data.py,
68 // from DerivedGeneralCategory.txt from the Unicode standard.
69 // Entries are (code_point << 1) + escape.
70 inline constexpr uint32_t __escape_edges[] = {
71 0x1, 0x42, 0xff, 0x142, 0x15b, 0x15c,
72 0x6f1, 0x6f4, 0x701, 0x708, 0x717, 0x718,
73 0x71b, 0x71c, 0x745, 0x746, 0xa61, 0xa62,
74 0xaaf, 0xab2, 0xb17, 0xb1a, 0xb21, 0xb22,
75 0xb91, 0xba0, 0xbd7, 0xbde, 0xbeb, 0xc0c,
76 0xc39, 0xc3a, 0xdbb, 0xdbc, 0xe1d, 0xe20,
77 0xe97, 0xe9a, 0xf65, 0xf80, 0xff7, 0xffa,
78 0x105d, 0x1060, 0x107f, 0x1080, 0x10b9, 0x10bc,
79 0x10bf, 0x10c0, 0x10d7, 0x10e0, 0x111f, 0x112e,
80 0x11c5, 0x11c6, 0x1309, 0x130a, 0x131b, 0x131e,
81 0x1323, 0x1326, 0x1353, 0x1354, 0x1363, 0x1364,
82 0x1367, 0x136c, 0x1375, 0x1378, 0x138b, 0x138e,
83 0x1393, 0x1396, 0x139f, 0x13ae, 0x13b1, 0x13b8,
84 0x13bd, 0x13be, 0x13c9, 0x13cc, 0x13ff, 0x1402,
85 0x1409, 0x140a, 0x1417, 0x141e, 0x1423, 0x1426,
86 0x1453, 0x1454, 0x1463, 0x1464, 0x1469, 0x146a,
87 0x146f, 0x1470, 0x1475, 0x1478, 0x147b, 0x147c,
88 0x1487, 0x148e, 0x1493, 0x1496, 0x149d, 0x14a2,
89 0x14a5, 0x14b2, 0x14bb, 0x14bc, 0x14bf, 0x14cc,
90 0x14ef, 0x1502, 0x1509, 0x150a, 0x151d, 0x151e,
91 0x1525, 0x1526, 0x1553, 0x1554, 0x1563, 0x1564,
92 0x1569, 0x156a, 0x1575, 0x1578, 0x158d, 0x158e,
93 0x1595, 0x1596, 0x159d, 0x15a0, 0x15a3, 0x15c0,
94 0x15c9, 0x15cc, 0x15e5, 0x15f2, 0x1601, 0x1602,
95 0x1609, 0x160a, 0x161b, 0x161e, 0x1623, 0x1626,
96 0x1653, 0x1654, 0x1663, 0x1664, 0x1669, 0x166a,
97 0x1675, 0x1678, 0x168b, 0x168e, 0x1693, 0x1696,
98 0x169d, 0x16aa, 0x16b1, 0x16b8, 0x16bd, 0x16be,
99 0x16c9, 0x16cc, 0x16f1, 0x1704, 0x1709, 0x170a,
100 0x1717, 0x171c, 0x1723, 0x1724, 0x172d, 0x1732,
101 0x1737, 0x1738, 0x173b, 0x173c, 0x1741, 0x1746,
102 0x174b, 0x1750, 0x1757, 0x175c, 0x1775, 0x177c,
103 0x1787, 0x178c, 0x1793, 0x1794, 0x179d, 0x17a0,
104 0x17a3, 0x17ae, 0x17b1, 0x17cc, 0x17f7, 0x1800,
105 0x181b, 0x181c, 0x1823, 0x1824, 0x1853, 0x1854,
106 0x1875, 0x1878, 0x188b, 0x188c, 0x1893, 0x1894,
107 0x189d, 0x18aa, 0x18af, 0x18b0, 0x18b7, 0x18ba,
108 0x18bd, 0x18c0, 0x18c9, 0x18cc, 0x18e1, 0x18ee,
109 0x191b, 0x191c, 0x1923, 0x1924, 0x1953, 0x1954,
110 0x1969, 0x196a, 0x1975, 0x1978, 0x198b, 0x198c,
111 0x1993, 0x1994, 0x199d, 0x19aa, 0x19af, 0x19ba,
112 0x19bf, 0x19c0, 0x19c9, 0x19cc, 0x19e1, 0x19e2,
113 0x19e9, 0x1a00, 0x1a1b, 0x1a1c, 0x1a23, 0x1a24,
114 0x1a8b, 0x1a8c, 0x1a93, 0x1a94, 0x1aa1, 0x1aa8,
115 0x1ac9, 0x1acc, 0x1b01, 0x1b02, 0x1b09, 0x1b0a,
116 0x1b2f, 0x1b34, 0x1b65, 0x1b66, 0x1b79, 0x1b7a,
117 0x1b7d, 0x1b80, 0x1b8f, 0x1b94, 0x1b97, 0x1b9e,
118 0x1bab, 0x1bac, 0x1baf, 0x1bb0, 0x1bc1, 0x1bcc,
119 0x1be1, 0x1be4, 0x1beb, 0x1c02, 0x1c77, 0x1c7e,
120 0x1cb9, 0x1d02, 0x1d07, 0x1d08, 0x1d0b, 0x1d0c,
121 0x1d17, 0x1d18, 0x1d49, 0x1d4a, 0x1d4d, 0x1d4e,
122 0x1d7d, 0x1d80, 0x1d8b, 0x1d8c, 0x1d8f, 0x1d90,
123 0x1d9f, 0x1da0, 0x1db5, 0x1db8, 0x1dc1, 0x1e00,
124 0x1e91, 0x1e92, 0x1edb, 0x1ee2, 0x1f31, 0x1f32,
125 0x1f7b, 0x1f7c, 0x1f9b, 0x1f9c, 0x1fb7, 0x2000,
126 0x218d, 0x218e, 0x2191, 0x219a, 0x219d, 0x21a0,
127 0x2493, 0x2494, 0x249d, 0x24a0, 0x24af, 0x24b0,
128 0x24b3, 0x24b4, 0x24bd, 0x24c0, 0x2513, 0x2514,
129 0x251d, 0x2520, 0x2563, 0x2564, 0x256d, 0x2570,
130 0x257f, 0x2580, 0x2583, 0x2584, 0x258d, 0x2590,
131 0x25af, 0x25b0, 0x2623, 0x2624, 0x262d, 0x2630,
132 0x26b7, 0x26ba, 0x26fb, 0x2700, 0x2735, 0x2740,
133 0x27ed, 0x27f0, 0x27fd, 0x2800, 0x2d01, 0x2d02,
134 0x2d3b, 0x2d40, 0x2df3, 0x2e00, 0x2e2d, 0x2e3e,
135 0x2e6f, 0x2e80, 0x2ea9, 0x2ec0, 0x2edb, 0x2edc,
136 0x2ee3, 0x2ee4, 0x2ee9, 0x2f00, 0x2fbd, 0x2fc0,
137 0x2fd5, 0x2fe0, 0x2ff5, 0x3000, 0x301d, 0x301e,
138 0x3035, 0x3040, 0x30f3, 0x3100, 0x3157, 0x3160,
139 0x31ed, 0x3200, 0x323f, 0x3240, 0x3259, 0x3260,
140 0x3279, 0x3280, 0x3283, 0x3288, 0x32dd, 0x32e0,
141 0x32eb, 0x3300, 0x3359, 0x3360, 0x3395, 0x33a0,
142 0x33b7, 0x33bc, 0x3439, 0x343c, 0x34bf, 0x34c0,
143 0x34fb, 0x34fe, 0x3515, 0x3520, 0x3535, 0x3540,
144 0x355d, 0x3560, 0x359f, 0x3600, 0x369b, 0x369c,
145 0x37e9, 0x37f8, 0x3871, 0x3876, 0x3895, 0x389a,
146 0x3917, 0x3920, 0x3977, 0x397a, 0x3991, 0x39a0,
147 0x39f7, 0x3a00, 0x3e2d, 0x3e30, 0x3e3d, 0x3e40,
148 0x3e8d, 0x3e90, 0x3e9d, 0x3ea0, 0x3eb1, 0x3eb2,
149 0x3eb5, 0x3eb6, 0x3eb9, 0x3eba, 0x3ebd, 0x3ebe,
150 0x3efd, 0x3f00, 0x3f6b, 0x3f6c, 0x3f8b, 0x3f8c,
151 0x3fa9, 0x3fac, 0x3fb9, 0x3fba, 0x3fe1, 0x3fe4,
152 0x3feb, 0x3fec, 0x3fff, 0x4020, 0x4051, 0x4060,
153 0x40bf, 0x40e0, 0x40e5, 0x40e8, 0x411f, 0x4120,
154 0x413b, 0x4140, 0x4183, 0x41a0, 0x41e3, 0x4200,
155 0x4319, 0x4320, 0x4855, 0x4880, 0x4897, 0x48c0,
156 0x56e9, 0x56ec, 0x572d, 0x572e, 0x59e9, 0x59f2,
157 0x5a4d, 0x5a4e, 0x5a51, 0x5a5a, 0x5a5d, 0x5a60,
158 0x5ad1, 0x5ade, 0x5ae3, 0x5afe, 0x5b2f, 0x5b40,
159 0x5b4f, 0x5b50, 0x5b5f, 0x5b60, 0x5b6f, 0x5b70,
160 0x5b7f, 0x5b80, 0x5b8f, 0x5b90, 0x5b9f, 0x5ba0,
161 0x5baf, 0x5bb0, 0x5bbf, 0x5bc0, 0x5cbd, 0x5d00,
162 0x5d35, 0x5d36, 0x5de9, 0x5e00, 0x5fad, 0x5fe0,
163 0x6001, 0x6002, 0x6081, 0x6082, 0x612f, 0x6132,
164 0x6201, 0x620a, 0x6261, 0x6262, 0x631f, 0x6320,
165 0x63cd, 0x63de, 0x643f, 0x6440, 0x1491b, 0x14920,
166 0x1498f, 0x149a0, 0x14c59, 0x14c80, 0x14df1, 0x14e00,
167 0x14f9d, 0x14fa0, 0x14fa5, 0x14fa6, 0x14fa9, 0x14faa,
168 0x14fbb, 0x14fe4, 0x1505b, 0x15060, 0x15075, 0x15080,
169 0x150f1, 0x15100, 0x1518d, 0x1519c, 0x151b5, 0x151c0,
170 0x152a9, 0x152be, 0x152fb, 0x15300, 0x1539d, 0x1539e,
171 0x153b5, 0x153bc, 0x153ff, 0x15400, 0x1546f, 0x15480,
172 0x1549d, 0x154a0, 0x154b5, 0x154b8, 0x15587, 0x155b6,
173 0x155ef, 0x15602, 0x1560f, 0x15612, 0x1561f, 0x15622,
174 0x1562f, 0x15640, 0x1564f, 0x15650, 0x1565f, 0x15660,
175 0x156d9, 0x156e0, 0x157dd, 0x157e0, 0x157f5, 0x15800,
176 0x1af49, 0x1af60, 0x1af8f, 0x1af96, 0x1aff9, 0x1f200,
177 0x1f4dd, 0x1f4e0, 0x1f5b5, 0x1f600, 0x1f60f, 0x1f626,
178 0x1f631, 0x1f63a, 0x1f66f, 0x1f670, 0x1f67b, 0x1f67c,
179 0x1f67f, 0x1f680, 0x1f685, 0x1f686, 0x1f68b, 0x1f68c,
180 0x1f787, 0x1f7a6, 0x1fb21, 0x1fb24, 0x1fb91, 0x1fb9e,
181 0x1fba1, 0x1fbe0, 0x1fc35, 0x1fc40, 0x1fca7, 0x1fca8,
182 0x1fccf, 0x1fcd0, 0x1fcd9, 0x1fce0, 0x1fceb, 0x1fcec,
183 0x1fdfb, 0x1fe02, 0x1ff7f, 0x1ff84, 0x1ff91, 0x1ff94,
184 0x1ffa1, 0x1ffa4, 0x1ffb1, 0x1ffb4, 0x1ffbb, 0x1ffc0,
185 0x1ffcf, 0x1ffd0, 0x1ffdf, 0x1fff8, 0x1fffd, 0x20000,
186 0x20019, 0x2001a, 0x2004f, 0x20050, 0x20077, 0x20078,
187 0x2007d, 0x2007e, 0x2009d, 0x200a0, 0x200bd, 0x20100,
188 0x201f7, 0x20200, 0x20207, 0x2020e, 0x20269, 0x2026e,
189 0x2031f, 0x20320, 0x2033b, 0x20340, 0x20343, 0x203a0,
190 0x203fd, 0x20500, 0x2053b, 0x20540, 0x205a3, 0x205c0,
191 0x205f9, 0x20600, 0x20649, 0x2065a, 0x20697, 0x206a0,
192 0x206f7, 0x20700, 0x2073d, 0x2073e, 0x20789, 0x20790,
193 0x207ad, 0x20800, 0x2093d, 0x20940, 0x20955, 0x20960,
194 0x209a9, 0x209b0, 0x209f9, 0x20a00, 0x20a51, 0x20a60,
195 0x20ac9, 0x20ade, 0x20af7, 0x20af8, 0x20b17, 0x20b18,
196 0x20b27, 0x20b28, 0x20b2d, 0x20b2e, 0x20b45, 0x20b46,
197 0x20b65, 0x20b66, 0x20b75, 0x20b76, 0x20b7b, 0x20b80,
198 0x20be9, 0x20c00, 0x20e6f, 0x20e80, 0x20ead, 0x20ec0,
199 0x20ed1, 0x20f00, 0x20f0d, 0x20f0e, 0x20f63, 0x20f64,
200 0x20f77, 0x21000, 0x2100d, 0x21010, 0x21013, 0x21014,
201 0x2106d, 0x2106e, 0x21073, 0x21078, 0x2107b, 0x2107e,
202 0x210ad, 0x210ae, 0x2113f, 0x2114e, 0x21161, 0x211c0,
203 0x211e7, 0x211e8, 0x211ed, 0x211f6, 0x21239, 0x2123e,
204 0x21275, 0x2127e, 0x21281, 0x21300, 0x21371, 0x21378,
205 0x213a1, 0x213a4, 0x21409, 0x2140a, 0x2140f, 0x21418,
206 0x21429, 0x2142a, 0x21431, 0x21432, 0x2146d, 0x21470,
207 0x21477, 0x2147e, 0x21493, 0x214a0, 0x214b3, 0x214c0,
208 0x21541, 0x21580, 0x215cf, 0x215d6, 0x215ef, 0x21600,
209 0x2166d, 0x21672, 0x216ad, 0x216b0, 0x216e7, 0x216f0,
210 0x21725, 0x21732, 0x2173b, 0x21752, 0x21761, 0x21800,
211 0x21893, 0x21900, 0x21967, 0x21980, 0x219e7, 0x219f4,
212 0x21a51, 0x21a60, 0x21a75, 0x21a80, 0x21acd, 0x21ad2,
213 0x21b0d, 0x21b1c, 0x21b21, 0x21cc0, 0x21cff, 0x21d00,
214 0x21d55, 0x21d56, 0x21d5d, 0x21d60, 0x21d65, 0x21d84,
215 0x21d8b, 0x21df8, 0x21e51, 0x21e60, 0x21eb5, 0x21ee0,
216 0x21f15, 0x21f60, 0x21f99, 0x21fc0, 0x21fef, 0x22000,
217 0x2209d, 0x220a4, 0x220ed, 0x220fe, 0x2217b, 0x2217c,
218 0x22187, 0x221a0, 0x221d3, 0x221e0, 0x221f5, 0x22200,
219 0x2226b, 0x2226c, 0x22291, 0x222a0, 0x222ef, 0x22300,
220 0x223c1, 0x223c2, 0x223eb, 0x22400, 0x22425, 0x22426,
221 0x22485, 0x22500, 0x2250f, 0x22510, 0x22513, 0x22514,
222 0x2251d, 0x2251e, 0x2253d, 0x2253e, 0x22555, 0x22560,
223 0x225d7, 0x225e0, 0x225f5, 0x22600, 0x22609, 0x2260a,
224 0x2261b, 0x2261e, 0x22623, 0x22626, 0x22653, 0x22654,
225 0x22663, 0x22664, 0x22669, 0x2266a, 0x22675, 0x22676,
226 0x2268b, 0x2268e, 0x22693, 0x22696, 0x2269d, 0x226a0,
227 0x226a3, 0x226ae, 0x226b1, 0x226ba, 0x226c9, 0x226cc,
228 0x226db, 0x226e0, 0x226eb, 0x22700, 0x22715, 0x22716,
229 0x22719, 0x2271c, 0x2271f, 0x22720, 0x2276d, 0x2276e,
230 0x22783, 0x22784, 0x22787, 0x2278a, 0x2278d, 0x2278e,
231 0x22797, 0x22798, 0x227ad, 0x227ae, 0x227b3, 0x227c2,
232 0x227c7, 0x22800, 0x228b9, 0x228ba, 0x228c5, 0x22900,
233 0x22991, 0x229a0, 0x229b5, 0x22b00, 0x22b6d, 0x22b70,
234 0x22bbd, 0x22c00, 0x22c8b, 0x22ca0, 0x22cb5, 0x22cc0,
235 0x22cdb, 0x22d00, 0x22d75, 0x22d80, 0x22d95, 0x22da0,
236 0x22dc9, 0x22e00, 0x22e37, 0x22e3a, 0x22e59, 0x22e60,
237 0x22e8f, 0x23000, 0x23079, 0x23140, 0x231e7, 0x231fe,
238 0x2320f, 0x23212, 0x23215, 0x23218, 0x23229, 0x2322a,
239 0x2322f, 0x23230, 0x2326d, 0x2326e, 0x23273, 0x23276,
240 0x2328f, 0x232a0, 0x232b5, 0x23340, 0x23351, 0x23354,
241 0x233b1, 0x233b4, 0x233cb, 0x23400, 0x23491, 0x234a0,
242 0x23547, 0x23560, 0x235f3, 0x23600, 0x23615, 0x23780,
243 0x237c5, 0x237e0, 0x237f5, 0x23800, 0x23813, 0x23814,
244 0x2386f, 0x23870, 0x2388d, 0x238a0, 0x238db, 0x238e0,
245 0x23921, 0x23924, 0x23951, 0x23952, 0x2396f, 0x23a00,
246 0x23a0f, 0x23a10, 0x23a15, 0x23a16, 0x23a6f, 0x23a74,
247 0x23a77, 0x23a78, 0x23a7d, 0x23a7e, 0x23a91, 0x23aa0,
248 0x23ab5, 0x23ac0, 0x23acd, 0x23ace, 0x23ad3, 0x23ad4,
249 0x23b1f, 0x23b20, 0x23b25, 0x23b26, 0x23b33, 0x23b40,
250 0x23b55, 0x23dc0, 0x23df3, 0x23e00, 0x23e23, 0x23e24,
251 0x23e77, 0x23e7c, 0x23eb7, 0x23f60, 0x23f63, 0x23f80,
252 0x23fe5, 0x23ffe, 0x24735, 0x24800, 0x248df, 0x248e0,
253 0x248eb, 0x24900, 0x24a89, 0x25f20, 0x25fe7, 0x26000,
254 0x26861, 0x26880, 0x268ad, 0x268c0, 0x287f7, 0x28800,
255 0x28c8f, 0x2c200, 0x2c275, 0x2d000, 0x2d473, 0x2d480,
256 0x2d4bf, 0x2d4c0, 0x2d4d5, 0x2d4dc, 0x2d57f, 0x2d580,
257 0x2d595, 0x2d5a0, 0x2d5dd, 0x2d5e0, 0x2d5ed, 0x2d600,
258 0x2d68d, 0x2d6a0, 0x2d6b5, 0x2d6b6, 0x2d6c5, 0x2d6c6,
259 0x2d6f1, 0x2d6fa, 0x2d721, 0x2da80, 0x2daf5, 0x2dc80,
260 0x2dd37, 0x2de00, 0x2de97, 0x2de9e, 0x2df11, 0x2df1e,
261 0x2df41, 0x2dfc0, 0x2dfcb, 0x2dfe0, 0x2dfe5, 0x2e000,
262 0x30ff1, 0x31000, 0x319ad, 0x319fe, 0x31a13, 0x35fe0,
263 0x35fe9, 0x35fea, 0x35ff9, 0x35ffa, 0x35fff, 0x36000,
264 0x36247, 0x36264, 0x36267, 0x362a0, 0x362a7, 0x362aa,
265 0x362ad, 0x362c8, 0x362d1, 0x362e0, 0x365f9, 0x37800,
266 0x378d7, 0x378e0, 0x378fb, 0x37900, 0x37913, 0x37920,
267 0x37935, 0x37938, 0x37941, 0x39800, 0x399f5, 0x39a00,
268 0x39d69, 0x39e00, 0x39e5d, 0x39e60, 0x39e8f, 0x39ea0,
269 0x39f89, 0x3a000, 0x3a1ed, 0x3a200, 0x3a24f, 0x3a252,
270 0x3a2e7, 0x3a2f6, 0x3a3d7, 0x3a400, 0x3a48d, 0x3a580,
271 0x3a5a9, 0x3a5c0, 0x3a5e9, 0x3a600, 0x3a6af, 0x3a6c0,
272 0x3a6f3, 0x3a800, 0x3a8ab, 0x3a8ac, 0x3a93b, 0x3a93c,
273 0x3a941, 0x3a944, 0x3a947, 0x3a94a, 0x3a94f, 0x3a952,
274 0x3a95b, 0x3a95c, 0x3a975, 0x3a976, 0x3a979, 0x3a97a,
275 0x3a989, 0x3a98a, 0x3aa0d, 0x3aa0e, 0x3aa17, 0x3aa1a,
276 0x3aa2b, 0x3aa2c, 0x3aa3b, 0x3aa3c, 0x3aa75, 0x3aa76,
277 0x3aa7f, 0x3aa80, 0x3aa8b, 0x3aa8c, 0x3aa8f, 0x3aa94,
278 0x3aaa3, 0x3aaa4, 0x3ad4d, 0x3ad50, 0x3af99, 0x3af9c,
279 0x3b519, 0x3b536, 0x3b541, 0x3b542, 0x3b561, 0x3be00,
280 0x3be3f, 0x3be4a, 0x3be57, 0x3c000, 0x3c00f, 0x3c010,
281 0x3c033, 0x3c036, 0x3c045, 0x3c046, 0x3c04b, 0x3c04c,
282 0x3c057, 0x3c060, 0x3c0dd, 0x3c11e, 0x3c121, 0x3c200,
283 0x3c25b, 0x3c260, 0x3c27d, 0x3c280, 0x3c295, 0x3c29c,
284 0x3c2a1, 0x3c520, 0x3c55f, 0x3c580, 0x3c5f5, 0x3c5fe,
285 0x3c601, 0x3c9a0, 0x3c9f5, 0x3cba0, 0x3cbf7, 0x3cbfe,
286 0x3cc01, 0x3cfc0, 0x3cfcf, 0x3cfd0, 0x3cfd9, 0x3cfda,
287 0x3cfdf, 0x3cfe0, 0x3cfff, 0x3d000, 0x3d18b, 0x3d18e,
288 0x3d1af, 0x3d200, 0x3d299, 0x3d2a0, 0x3d2b5, 0x3d2bc,
289 0x3d2c1, 0x3d8e2, 0x3d96b, 0x3da02, 0x3da7d, 0x3dc00,
290 0x3dc09, 0x3dc0a, 0x3dc41, 0x3dc42, 0x3dc47, 0x3dc48,
291 0x3dc4b, 0x3dc4e, 0x3dc51, 0x3dc52, 0x3dc67, 0x3dc68,
292 0x3dc71, 0x3dc72, 0x3dc75, 0x3dc76, 0x3dc79, 0x3dc84,
293 0x3dc87, 0x3dc8e, 0x3dc91, 0x3dc92, 0x3dc95, 0x3dc96,
294 0x3dc99, 0x3dc9a, 0x3dca1, 0x3dca2, 0x3dca7, 0x3dca8,
295 0x3dcab, 0x3dcae, 0x3dcb1, 0x3dcb2, 0x3dcb5, 0x3dcb6,
296 0x3dcb9, 0x3dcba, 0x3dcbd, 0x3dcbe, 0x3dcc1, 0x3dcc2,
297 0x3dcc7, 0x3dcc8, 0x3dccb, 0x3dcce, 0x3dcd7, 0x3dcd8,
298 0x3dce7, 0x3dce8, 0x3dcf1, 0x3dcf2, 0x3dcfb, 0x3dcfc,
299 0x3dcff, 0x3dd00, 0x3dd15, 0x3dd16, 0x3dd39, 0x3dd42,
300 0x3dd49, 0x3dd4a, 0x3dd55, 0x3dd56, 0x3dd79, 0x3dde0,
301 0x3dde5, 0x3e000, 0x3e059, 0x3e060, 0x3e129, 0x3e140,
302 0x3e15f, 0x3e162, 0x3e181, 0x3e182, 0x3e1a1, 0x3e1a2,
303 0x3e1ed, 0x3e200, 0x3e35d, 0x3e3cc, 0x3e407, 0x3e420,
304 0x3e479, 0x3e480, 0x3e493, 0x3e4a0, 0x3e4a5, 0x3e4c0,
305 0x3e4cd, 0x3e600, 0x3edb1, 0x3edb8, 0x3eddb, 0x3ede0,
306 0x3edfb, 0x3ee00, 0x3eeef, 0x3eef6, 0x3efb5, 0x3efc0,
307 0x3efd9, 0x3efe0, 0x3efe3, 0x3f000, 0x3f019, 0x3f020,
308 0x3f091, 0x3f0a0, 0x3f0b5, 0x3f0c0, 0x3f111, 0x3f120,
309 0x3f15d, 0x3f160, 0x3f179, 0x3f180, 0x3f185, 0x3f200,
310 0x3f4a9, 0x3f4c0, 0x3f4dd, 0x3f4e0, 0x3f4fb, 0x3f500,
311 0x3f515, 0x3f51e, 0x3f58f, 0x3f59c, 0x3f5bb, 0x3f5be,
312 0x3f5d5, 0x3f5e0, 0x3f5f3, 0x3f600, 0x3f727, 0x3f728,
313 0x3f7f5, 0x40000, 0x54dc1, 0x54e00, 0x56e75, 0x56e80,
314 0x5703d, 0x57040, 0x59d45, 0x59d60, 0x5d7c3, 0x5d7e0,
315 0x5dcbd, 0x5f000, 0x5f43d, 0x60000, 0x62697, 0x626a0,
316 0x64761, 0x1c0200, 0x1c03e1,
317 };
318
319 enum class _Gcb_property {
320 _Gcb_Other = 0,
321 _Gcb_Control = 1,
322 _Gcb_LF = 2,
323 _Gcb_CR = 3,
324 _Gcb_Extend = 4,
325 _Gcb_Prepend = 5,
326 _Gcb_SpacingMark = 6,
327 _Gcb_L = 7,
328 _Gcb_V = 8,
329 _Gcb_T = 9,
330 _Gcb_ZWJ = 10,
331 _Gcb_LV = 11,
332 _Gcb_LVT = 12,
333 _Gcb_Regional_Indicator = 13,
334 };
335
336 // Values generated by contrib/unicode/gen_libstdcxx_unicode_data.py,
337 // from GraphemeBreakProperty.txt from the Unicode standard.
338 // Entries are (code_point << shift_bits) + property.
339 inline constexpr int __gcb_shift_bits = 0x4;
340 inline constexpr uint32_t __gcb_edges[] = {
341 0x1, 0xa2, 0xb1, 0xd3, 0xe1, 0x200,
342 0x7f1, 0xa00, 0xad1, 0xae0, 0x3004, 0x3700,
343 0x4834, 0x48a0, 0x5914, 0x5be0, 0x5bf4, 0x5c00,
344 0x5c14, 0x5c30, 0x5c44, 0x5c60, 0x5c74, 0x5c80,
345 0x6005, 0x6060, 0x6104, 0x61b0, 0x61c1, 0x61d0,
346 0x64b4, 0x6600, 0x6704, 0x6710, 0x6d64, 0x6dd5,
347 0x6de0, 0x6df4, 0x6e50, 0x6e74, 0x6e90, 0x6ea4,
348 0x6ee0, 0x70f5, 0x7100, 0x7114, 0x7120, 0x7304,
349 0x74b0, 0x7a64, 0x7b10, 0x7eb4, 0x7f40, 0x7fd4,
350 0x7fe0, 0x8164, 0x81a0, 0x81b4, 0x8240, 0x8254,
351 0x8280, 0x8294, 0x82e0, 0x8594, 0x85c0, 0x8905,
352 0x8920, 0x8974, 0x8a00, 0x8ca4, 0x8e25, 0x8e34,
353 0x9036, 0x9040, 0x93a4, 0x93b6, 0x93c4, 0x93d0,
354 0x93e6, 0x9414, 0x9496, 0x94d4, 0x94e6, 0x9500,
355 0x9514, 0x9580, 0x9624, 0x9640, 0x9814, 0x9826,
356 0x9840, 0x9bc4, 0x9bd0, 0x9be4, 0x9bf6, 0x9c14,
357 0x9c50, 0x9c76, 0x9c90, 0x9cb6, 0x9cd4, 0x9ce0,
358 0x9d74, 0x9d80, 0x9e24, 0x9e40, 0x9fe4, 0x9ff0,
359 0xa014, 0xa036, 0xa040, 0xa3c4, 0xa3d0, 0xa3e6,
360 0xa414, 0xa430, 0xa474, 0xa490, 0xa4b4, 0xa4e0,
361 0xa514, 0xa520, 0xa704, 0xa720, 0xa754, 0xa760,
362 0xa814, 0xa836, 0xa840, 0xabc4, 0xabd0, 0xabe6,
363 0xac14, 0xac60, 0xac74, 0xac96, 0xaca0, 0xacb6,
364 0xacd4, 0xace0, 0xae24, 0xae40, 0xafa4, 0xb000,
365 0xb014, 0xb026, 0xb040, 0xb3c4, 0xb3d0, 0xb3e4,
366 0xb406, 0xb414, 0xb450, 0xb476, 0xb490, 0xb4b6,
367 0xb4d4, 0xb4e0, 0xb554, 0xb580, 0xb624, 0xb640,
368 0xb824, 0xb830, 0xbbe4, 0xbbf6, 0xbc04, 0xbc16,
369 0xbc30, 0xbc66, 0xbc90, 0xbca6, 0xbcd4, 0xbce0,
370 0xbd74, 0xbd80, 0xc004, 0xc016, 0xc044, 0xc050,
371 0xc3c4, 0xc3d0, 0xc3e4, 0xc416, 0xc450, 0xc464,
372 0xc490, 0xc4a4, 0xc4e0, 0xc554, 0xc570, 0xc624,
373 0xc640, 0xc814, 0xc826, 0xc840, 0xcbc4, 0xcbd0,
374 0xcbe6, 0xcbf4, 0xcc16, 0xcc24, 0xcc36, 0xcc50,
375 0xcc64, 0xcc90, 0xcca4, 0xcce0, 0xcd54, 0xcd70,
376 0xce24, 0xce40, 0xcf36, 0xcf40, 0xd004, 0xd026,
377 0xd040, 0xd3b4, 0xd3d0, 0xd3e4, 0xd3f6, 0xd414,
378 0xd450, 0xd466, 0xd490, 0xd4a6, 0xd4d4, 0xd4e5,
379 0xd4f0, 0xd574, 0xd580, 0xd624, 0xd640, 0xd814,
380 0xd826, 0xd840, 0xdca4, 0xdcb0, 0xdcf4, 0xdd06,
381 0xdd24, 0xdd50, 0xdd64, 0xdd70, 0xdd86, 0xddf4,
382 0xde00, 0xdf26, 0xdf40, 0xe314, 0xe320, 0xe336,
383 0xe344, 0xe3b0, 0xe474, 0xe4f0, 0xeb14, 0xeb20,
384 0xeb36, 0xeb44, 0xebd0, 0xec84, 0xecf0, 0xf184,
385 0xf1a0, 0xf354, 0xf360, 0xf374, 0xf380, 0xf394,
386 0xf3a0, 0xf3e6, 0xf400, 0xf714, 0xf7f6, 0xf804,
387 0xf850, 0xf864, 0xf880, 0xf8d4, 0xf980, 0xf994,
388 0xfbd0, 0xfc64, 0xfc70, 0x102d4, 0x10316, 0x10324,
389 0x10380, 0x10394, 0x103b6, 0x103d4, 0x103f0, 0x10566,
390 0x10584, 0x105a0, 0x105e4, 0x10610, 0x10714, 0x10750,
391 0x10824, 0x10830, 0x10846, 0x10854, 0x10870, 0x108d4,
392 0x108e0, 0x109d4, 0x109e0, 0x11007, 0x11608, 0x11a89,
393 0x12000, 0x135d4, 0x13600, 0x17124, 0x17160, 0x17324,
394 0x17350, 0x17524, 0x17540, 0x17724, 0x17740, 0x17b44,
395 0x17b66, 0x17b74, 0x17be6, 0x17c64, 0x17c76, 0x17c94,
396 0x17d40, 0x17dd4, 0x17de0, 0x180b4, 0x180e1, 0x180f4,
397 0x18100, 0x18854, 0x18870, 0x18a94, 0x18aa0, 0x19204,
398 0x19236, 0x19274, 0x19296, 0x192c0, 0x19306, 0x19324,
399 0x19336, 0x19394, 0x193c0, 0x1a174, 0x1a196, 0x1a1b4,
400 0x1a1c0, 0x1a556, 0x1a564, 0x1a576, 0x1a584, 0x1a5f0,
401 0x1a604, 0x1a610, 0x1a624, 0x1a630, 0x1a654, 0x1a6d6,
402 0x1a734, 0x1a7d0, 0x1a7f4, 0x1a800, 0x1ab04, 0x1acf0,
403 0x1b004, 0x1b046, 0x1b050, 0x1b344, 0x1b3e6, 0x1b424,
404 0x1b450, 0x1b6b4, 0x1b740, 0x1b804, 0x1b826, 0x1b830,
405 0x1ba16, 0x1ba24, 0x1ba66, 0x1ba84, 0x1bae0, 0x1be64,
406 0x1be76, 0x1be84, 0x1bea6, 0x1bed4, 0x1bee6, 0x1bef4,
407 0x1bf40, 0x1c246, 0x1c2c4, 0x1c346, 0x1c364, 0x1c380,
408 0x1cd04, 0x1cd30, 0x1cd44, 0x1ce16, 0x1ce24, 0x1ce90,
409 0x1ced4, 0x1cee0, 0x1cf44, 0x1cf50, 0x1cf76, 0x1cf84,
410 0x1cfa0, 0x1dc04, 0x1e000, 0x200b1, 0x200c4, 0x200da,
411 0x200e1, 0x20100, 0x20281, 0x202f0, 0x20601, 0x20700,
412 0x20d04, 0x20f10, 0x2cef4, 0x2cf20, 0x2d7f4, 0x2d800,
413 0x2de04, 0x2e000, 0x302a4, 0x30300, 0x30994, 0x309b0,
414 0xa66f4, 0xa6730, 0xa6744, 0xa67e0, 0xa69e4, 0xa6a00,
415 0xa6f04, 0xa6f20, 0xa8024, 0xa8030, 0xa8064, 0xa8070,
416 0xa80b4, 0xa80c0, 0xa8236, 0xa8254, 0xa8276, 0xa8280,
417 0xa82c4, 0xa82d0, 0xa8806, 0xa8820, 0xa8b46, 0xa8c44,
418 0xa8c60, 0xa8e04, 0xa8f20, 0xa8ff4, 0xa9000, 0xa9264,
419 0xa92e0, 0xa9474, 0xa9526, 0xa9534, 0xa9540, 0xa9607,
420 0xa97d0, 0xa9804, 0xa9836, 0xa9840, 0xa9b34, 0xa9b46,
421 0xa9b64, 0xa9ba6, 0xa9bc4, 0xa9be6, 0xa9c04, 0xa9c10,
422 0xa9e54, 0xa9e60, 0xaa294, 0xaa2f6, 0xaa314, 0xaa336,
423 0xaa354, 0xaa370, 0xaa434, 0xaa440, 0xaa4c4, 0xaa4d6,
424 0xaa4e0, 0xaa7c4, 0xaa7d0, 0xaab04, 0xaab10, 0xaab24,
425 0xaab50, 0xaab74, 0xaab90, 0xaabe4, 0xaac00, 0xaac14,
426 0xaac20, 0xaaeb6, 0xaaec4, 0xaaee6, 0xaaf00, 0xaaf56,
427 0xaaf64, 0xaaf70, 0xabe36, 0xabe54, 0xabe66, 0xabe84,
428 0xabe96, 0xabeb0, 0xabec6, 0xabed4, 0xabee0, 0xac00b,
429 0xac01c, 0xac1cb, 0xac1dc, 0xac38b, 0xac39c, 0xac54b,
430 0xac55c, 0xac70b, 0xac71c, 0xac8cb, 0xac8dc, 0xaca8b,
431 0xaca9c, 0xacc4b, 0xacc5c, 0xace0b, 0xace1c, 0xacfcb,
432 0xacfdc, 0xad18b, 0xad19c, 0xad34b, 0xad35c, 0xad50b,
433 0xad51c, 0xad6cb, 0xad6dc, 0xad88b, 0xad89c, 0xada4b,
434 0xada5c, 0xadc0b, 0xadc1c, 0xaddcb, 0xadddc, 0xadf8b,
435 0xadf9c, 0xae14b, 0xae15c, 0xae30b, 0xae31c, 0xae4cb,
436 0xae4dc, 0xae68b, 0xae69c, 0xae84b, 0xae85c, 0xaea0b,
437 0xaea1c, 0xaebcb, 0xaebdc, 0xaed8b, 0xaed9c, 0xaef4b,
438 0xaef5c, 0xaf10b, 0xaf11c, 0xaf2cb, 0xaf2dc, 0xaf48b,
439 0xaf49c, 0xaf64b, 0xaf65c, 0xaf80b, 0xaf81c, 0xaf9cb,
440 0xaf9dc, 0xafb8b, 0xafb9c, 0xafd4b, 0xafd5c, 0xaff0b,
441 0xaff1c, 0xb00cb, 0xb00dc, 0xb028b, 0xb029c, 0xb044b,
442 0xb045c, 0xb060b, 0xb061c, 0xb07cb, 0xb07dc, 0xb098b,
443 0xb099c, 0xb0b4b, 0xb0b5c, 0xb0d0b, 0xb0d1c, 0xb0ecb,
444 0xb0edc, 0xb108b, 0xb109c, 0xb124b, 0xb125c, 0xb140b,
445 0xb141c, 0xb15cb, 0xb15dc, 0xb178b, 0xb179c, 0xb194b,
446 0xb195c, 0xb1b0b, 0xb1b1c, 0xb1ccb, 0xb1cdc, 0xb1e8b,
447 0xb1e9c, 0xb204b, 0xb205c, 0xb220b, 0xb221c, 0xb23cb,
448 0xb23dc, 0xb258b, 0xb259c, 0xb274b, 0xb275c, 0xb290b,
449 0xb291c, 0xb2acb, 0xb2adc, 0xb2c8b, 0xb2c9c, 0xb2e4b,
450 0xb2e5c, 0xb300b, 0xb301c, 0xb31cb, 0xb31dc, 0xb338b,
451 0xb339c, 0xb354b, 0xb355c, 0xb370b, 0xb371c, 0xb38cb,
452 0xb38dc, 0xb3a8b, 0xb3a9c, 0xb3c4b, 0xb3c5c, 0xb3e0b,
453 0xb3e1c, 0xb3fcb, 0xb3fdc, 0xb418b, 0xb419c, 0xb434b,
454 0xb435c, 0xb450b, 0xb451c, 0xb46cb, 0xb46dc, 0xb488b,
455 0xb489c, 0xb4a4b, 0xb4a5c, 0xb4c0b, 0xb4c1c, 0xb4dcb,
456 0xb4ddc, 0xb4f8b, 0xb4f9c, 0xb514b, 0xb515c, 0xb530b,
457 0xb531c, 0xb54cb, 0xb54dc, 0xb568b, 0xb569c, 0xb584b,
458 0xb585c, 0xb5a0b, 0xb5a1c, 0xb5bcb, 0xb5bdc, 0xb5d8b,
459 0xb5d9c, 0xb5f4b, 0xb5f5c, 0xb610b, 0xb611c, 0xb62cb,
460 0xb62dc, 0xb648b, 0xb649c, 0xb664b, 0xb665c, 0xb680b,
461 0xb681c, 0xb69cb, 0xb69dc, 0xb6b8b, 0xb6b9c, 0xb6d4b,
462 0xb6d5c, 0xb6f0b, 0xb6f1c, 0xb70cb, 0xb70dc, 0xb728b,
463 0xb729c, 0xb744b, 0xb745c, 0xb760b, 0xb761c, 0xb77cb,
464 0xb77dc, 0xb798b, 0xb799c, 0xb7b4b, 0xb7b5c, 0xb7d0b,
465 0xb7d1c, 0xb7ecb, 0xb7edc, 0xb808b, 0xb809c, 0xb824b,
466 0xb825c, 0xb840b, 0xb841c, 0xb85cb, 0xb85dc, 0xb878b,
467 0xb879c, 0xb894b, 0xb895c, 0xb8b0b, 0xb8b1c, 0xb8ccb,
468 0xb8cdc, 0xb8e8b, 0xb8e9c, 0xb904b, 0xb905c, 0xb920b,
469 0xb921c, 0xb93cb, 0xb93dc, 0xb958b, 0xb959c, 0xb974b,
470 0xb975c, 0xb990b, 0xb991c, 0xb9acb, 0xb9adc, 0xb9c8b,
471 0xb9c9c, 0xb9e4b, 0xb9e5c, 0xba00b, 0xba01c, 0xba1cb,
472 0xba1dc, 0xba38b, 0xba39c, 0xba54b, 0xba55c, 0xba70b,
473 0xba71c, 0xba8cb, 0xba8dc, 0xbaa8b, 0xbaa9c, 0xbac4b,
474 0xbac5c, 0xbae0b, 0xbae1c, 0xbafcb, 0xbafdc, 0xbb18b,
475 0xbb19c, 0xbb34b, 0xbb35c, 0xbb50b, 0xbb51c, 0xbb6cb,
476 0xbb6dc, 0xbb88b, 0xbb89c, 0xbba4b, 0xbba5c, 0xbbc0b,
477 0xbbc1c, 0xbbdcb, 0xbbddc, 0xbbf8b, 0xbbf9c, 0xbc14b,
478 0xbc15c, 0xbc30b, 0xbc31c, 0xbc4cb, 0xbc4dc, 0xbc68b,
479 0xbc69c, 0xbc84b, 0xbc85c, 0xbca0b, 0xbca1c, 0xbcbcb,
480 0xbcbdc, 0xbcd8b, 0xbcd9c, 0xbcf4b, 0xbcf5c, 0xbd10b,
481 0xbd11c, 0xbd2cb, 0xbd2dc, 0xbd48b, 0xbd49c, 0xbd64b,
482 0xbd65c, 0xbd80b, 0xbd81c, 0xbd9cb, 0xbd9dc, 0xbdb8b,
483 0xbdb9c, 0xbdd4b, 0xbdd5c, 0xbdf0b, 0xbdf1c, 0xbe0cb,
484 0xbe0dc, 0xbe28b, 0xbe29c, 0xbe44b, 0xbe45c, 0xbe60b,
485 0xbe61c, 0xbe7cb, 0xbe7dc, 0xbe98b, 0xbe99c, 0xbeb4b,
486 0xbeb5c, 0xbed0b, 0xbed1c, 0xbeecb, 0xbeedc, 0xbf08b,
487 0xbf09c, 0xbf24b, 0xbf25c, 0xbf40b, 0xbf41c, 0xbf5cb,
488 0xbf5dc, 0xbf78b, 0xbf79c, 0xbf94b, 0xbf95c, 0xbfb0b,
489 0xbfb1c, 0xbfccb, 0xbfcdc, 0xbfe8b, 0xbfe9c, 0xc004b,
490 0xc005c, 0xc020b, 0xc021c, 0xc03cb, 0xc03dc, 0xc058b,
491 0xc059c, 0xc074b, 0xc075c, 0xc090b, 0xc091c, 0xc0acb,
492 0xc0adc, 0xc0c8b, 0xc0c9c, 0xc0e4b, 0xc0e5c, 0xc100b,
493 0xc101c, 0xc11cb, 0xc11dc, 0xc138b, 0xc139c, 0xc154b,
494 0xc155c, 0xc170b, 0xc171c, 0xc18cb, 0xc18dc, 0xc1a8b,
495 0xc1a9c, 0xc1c4b, 0xc1c5c, 0xc1e0b, 0xc1e1c, 0xc1fcb,
496 0xc1fdc, 0xc218b, 0xc219c, 0xc234b, 0xc235c, 0xc250b,
497 0xc251c, 0xc26cb, 0xc26dc, 0xc288b, 0xc289c, 0xc2a4b,
498 0xc2a5c, 0xc2c0b, 0xc2c1c, 0xc2dcb, 0xc2ddc, 0xc2f8b,
499 0xc2f9c, 0xc314b, 0xc315c, 0xc330b, 0xc331c, 0xc34cb,
500 0xc34dc, 0xc368b, 0xc369c, 0xc384b, 0xc385c, 0xc3a0b,
501 0xc3a1c, 0xc3bcb, 0xc3bdc, 0xc3d8b, 0xc3d9c, 0xc3f4b,
502 0xc3f5c, 0xc410b, 0xc411c, 0xc42cb, 0xc42dc, 0xc448b,
503 0xc449c, 0xc464b, 0xc465c, 0xc480b, 0xc481c, 0xc49cb,
504 0xc49dc, 0xc4b8b, 0xc4b9c, 0xc4d4b, 0xc4d5c, 0xc4f0b,
505 0xc4f1c, 0xc50cb, 0xc50dc, 0xc528b, 0xc529c, 0xc544b,
506 0xc545c, 0xc560b, 0xc561c, 0xc57cb, 0xc57dc, 0xc598b,
507 0xc599c, 0xc5b4b, 0xc5b5c, 0xc5d0b, 0xc5d1c, 0xc5ecb,
508 0xc5edc, 0xc608b, 0xc609c, 0xc624b, 0xc625c, 0xc640b,
509 0xc641c, 0xc65cb, 0xc65dc, 0xc678b, 0xc679c, 0xc694b,
510 0xc695c, 0xc6b0b, 0xc6b1c, 0xc6ccb, 0xc6cdc, 0xc6e8b,
511 0xc6e9c, 0xc704b, 0xc705c, 0xc720b, 0xc721c, 0xc73cb,
512 0xc73dc, 0xc758b, 0xc759c, 0xc774b, 0xc775c, 0xc790b,
513 0xc791c, 0xc7acb, 0xc7adc, 0xc7c8b, 0xc7c9c, 0xc7e4b,
514 0xc7e5c, 0xc800b, 0xc801c, 0xc81cb, 0xc81dc, 0xc838b,
515 0xc839c, 0xc854b, 0xc855c, 0xc870b, 0xc871c, 0xc88cb,
516 0xc88dc, 0xc8a8b, 0xc8a9c, 0xc8c4b, 0xc8c5c, 0xc8e0b,
517 0xc8e1c, 0xc8fcb, 0xc8fdc, 0xc918b, 0xc919c, 0xc934b,
518 0xc935c, 0xc950b, 0xc951c, 0xc96cb, 0xc96dc, 0xc988b,
519 0xc989c, 0xc9a4b, 0xc9a5c, 0xc9c0b, 0xc9c1c, 0xc9dcb,
520 0xc9ddc, 0xc9f8b, 0xc9f9c, 0xca14b, 0xca15c, 0xca30b,
521 0xca31c, 0xca4cb, 0xca4dc, 0xca68b, 0xca69c, 0xca84b,
522 0xca85c, 0xcaa0b, 0xcaa1c, 0xcabcb, 0xcabdc, 0xcad8b,
523 0xcad9c, 0xcaf4b, 0xcaf5c, 0xcb10b, 0xcb11c, 0xcb2cb,
524 0xcb2dc, 0xcb48b, 0xcb49c, 0xcb64b, 0xcb65c, 0xcb80b,
525 0xcb81c, 0xcb9cb, 0xcb9dc, 0xcbb8b, 0xcbb9c, 0xcbd4b,
526 0xcbd5c, 0xcbf0b, 0xcbf1c, 0xcc0cb, 0xcc0dc, 0xcc28b,
527 0xcc29c, 0xcc44b, 0xcc45c, 0xcc60b, 0xcc61c, 0xcc7cb,
528 0xcc7dc, 0xcc98b, 0xcc99c, 0xccb4b, 0xccb5c, 0xccd0b,
529 0xccd1c, 0xccecb, 0xccedc, 0xcd08b, 0xcd09c, 0xcd24b,
530 0xcd25c, 0xcd40b, 0xcd41c, 0xcd5cb, 0xcd5dc, 0xcd78b,
531 0xcd79c, 0xcd94b, 0xcd95c, 0xcdb0b, 0xcdb1c, 0xcdccb,
532 0xcdcdc, 0xcde8b, 0xcde9c, 0xce04b, 0xce05c, 0xce20b,
533 0xce21c, 0xce3cb, 0xce3dc, 0xce58b, 0xce59c, 0xce74b,
534 0xce75c, 0xce90b, 0xce91c, 0xceacb, 0xceadc, 0xcec8b,
535 0xcec9c, 0xcee4b, 0xcee5c, 0xcf00b, 0xcf01c, 0xcf1cb,
536 0xcf1dc, 0xcf38b, 0xcf39c, 0xcf54b, 0xcf55c, 0xcf70b,
537 0xcf71c, 0xcf8cb, 0xcf8dc, 0xcfa8b, 0xcfa9c, 0xcfc4b,
538 0xcfc5c, 0xcfe0b, 0xcfe1c, 0xcffcb, 0xcffdc, 0xd018b,
539 0xd019c, 0xd034b, 0xd035c, 0xd050b, 0xd051c, 0xd06cb,
540 0xd06dc, 0xd088b, 0xd089c, 0xd0a4b, 0xd0a5c, 0xd0c0b,
541 0xd0c1c, 0xd0dcb, 0xd0ddc, 0xd0f8b, 0xd0f9c, 0xd114b,
542 0xd115c, 0xd130b, 0xd131c, 0xd14cb, 0xd14dc, 0xd168b,
543 0xd169c, 0xd184b, 0xd185c, 0xd1a0b, 0xd1a1c, 0xd1bcb,
544 0xd1bdc, 0xd1d8b, 0xd1d9c, 0xd1f4b, 0xd1f5c, 0xd210b,
545 0xd211c, 0xd22cb, 0xd22dc, 0xd248b, 0xd249c, 0xd264b,
546 0xd265c, 0xd280b, 0xd281c, 0xd29cb, 0xd29dc, 0xd2b8b,
547 0xd2b9c, 0xd2d4b, 0xd2d5c, 0xd2f0b, 0xd2f1c, 0xd30cb,
548 0xd30dc, 0xd328b, 0xd329c, 0xd344b, 0xd345c, 0xd360b,
549 0xd361c, 0xd37cb, 0xd37dc, 0xd398b, 0xd399c, 0xd3b4b,
550 0xd3b5c, 0xd3d0b, 0xd3d1c, 0xd3ecb, 0xd3edc, 0xd408b,
551 0xd409c, 0xd424b, 0xd425c, 0xd440b, 0xd441c, 0xd45cb,
552 0xd45dc, 0xd478b, 0xd479c, 0xd494b, 0xd495c, 0xd4b0b,
553 0xd4b1c, 0xd4ccb, 0xd4cdc, 0xd4e8b, 0xd4e9c, 0xd504b,
554 0xd505c, 0xd520b, 0xd521c, 0xd53cb, 0xd53dc, 0xd558b,
555 0xd559c, 0xd574b, 0xd575c, 0xd590b, 0xd591c, 0xd5acb,
556 0xd5adc, 0xd5c8b, 0xd5c9c, 0xd5e4b, 0xd5e5c, 0xd600b,
557 0xd601c, 0xd61cb, 0xd61dc, 0xd638b, 0xd639c, 0xd654b,
558 0xd655c, 0xd670b, 0xd671c, 0xd68cb, 0xd68dc, 0xd6a8b,
559 0xd6a9c, 0xd6c4b, 0xd6c5c, 0xd6e0b, 0xd6e1c, 0xd6fcb,
560 0xd6fdc, 0xd718b, 0xd719c, 0xd734b, 0xd735c, 0xd750b,
561 0xd751c, 0xd76cb, 0xd76dc, 0xd788b, 0xd789c, 0xd7a40,
562 0xd7b08, 0xd7c70, 0xd7cb9, 0xd7fc0, 0xfb1e4, 0xfb1f0,
563 0xfe004, 0xfe100, 0xfe204, 0xfe300, 0xfeff1, 0xff000,
564 0xff9e4, 0xffa00, 0xfff01, 0xfffc0, 0x101fd4, 0x101fe0,
565 0x102e04, 0x102e10, 0x103764, 0x1037b0, 0x10a014, 0x10a040,
566 0x10a054, 0x10a070, 0x10a0c4, 0x10a100, 0x10a384, 0x10a3b0,
567 0x10a3f4, 0x10a400, 0x10ae54, 0x10ae70, 0x10d244, 0x10d280,
568 0x10d694, 0x10d6e0, 0x10eab4, 0x10ead0, 0x10efc4, 0x10f000,
569 0x10f464, 0x10f510, 0x10f824, 0x10f860, 0x110006, 0x110014,
570 0x110026, 0x110030, 0x110384, 0x110470, 0x110704, 0x110710,
571 0x110734, 0x110750, 0x1107f4, 0x110826, 0x110830, 0x110b06,
572 0x110b34, 0x110b76, 0x110b94, 0x110bb0, 0x110bd5, 0x110be0,
573 0x110c24, 0x110c30, 0x110cd5, 0x110ce0, 0x111004, 0x111030,
574 0x111274, 0x1112c6, 0x1112d4, 0x111350, 0x111456, 0x111470,
575 0x111734, 0x111740, 0x111804, 0x111826, 0x111830, 0x111b36,
576 0x111b64, 0x111bf6, 0x111c04, 0x111c10, 0x111c25, 0x111c40,
577 0x111c94, 0x111cd0, 0x111ce6, 0x111cf4, 0x111d00, 0x1122c6,
578 0x1122f4, 0x112326, 0x112344, 0x112380, 0x1123e4, 0x1123f0,
579 0x112414, 0x112420, 0x112df4, 0x112e06, 0x112e34, 0x112eb0,
580 0x113004, 0x113026, 0x113040, 0x1133b4, 0x1133d0, 0x1133e4,
581 0x1133f6, 0x113404, 0x113416, 0x113450, 0x113476, 0x113490,
582 0x1134b6, 0x1134d4, 0x1134e0, 0x113574, 0x113580, 0x113626,
583 0x113640, 0x113664, 0x1136d0, 0x113704, 0x113750, 0x113b84,
584 0x113b96, 0x113bb4, 0x113c10, 0x113c24, 0x113c30, 0x113c54,
585 0x113c60, 0x113c74, 0x113ca6, 0x113cb0, 0x113cc6, 0x113ce4,
586 0x113d15, 0x113d24, 0x113d30, 0x113e14, 0x113e30, 0x114356,
587 0x114384, 0x114406, 0x114424, 0x114456, 0x114464, 0x114470,
588 0x1145e4, 0x1145f0, 0x114b04, 0x114b16, 0x114b34, 0x114b96,
589 0x114ba4, 0x114bb6, 0x114bd4, 0x114be6, 0x114bf4, 0x114c16,
590 0x114c24, 0x114c40, 0x115af4, 0x115b06, 0x115b24, 0x115b60,
591 0x115b86, 0x115bc4, 0x115be6, 0x115bf4, 0x115c10, 0x115dc4,
592 0x115de0, 0x116306, 0x116334, 0x1163b6, 0x1163d4, 0x1163e6,
593 0x1163f4, 0x116410, 0x116ab4, 0x116ac6, 0x116ad4, 0x116ae6,
594 0x116b04, 0x116b80, 0x1171d4, 0x1171e6, 0x1171f4, 0x117200,
595 0x117224, 0x117266, 0x117274, 0x1172c0, 0x1182c6, 0x1182f4,
596 0x118386, 0x118394, 0x1183b0, 0x119304, 0x119316, 0x119360,
597 0x119376, 0x119390, 0x1193b4, 0x1193f5, 0x119406, 0x119415,
598 0x119426, 0x119434, 0x119440, 0x119d16, 0x119d44, 0x119d80,
599 0x119da4, 0x119dc6, 0x119e04, 0x119e10, 0x119e46, 0x119e50,
600 0x11a014, 0x11a0b0, 0x11a334, 0x11a396, 0x11a3a5, 0x11a3b4,
601 0x11a3f0, 0x11a474, 0x11a480, 0x11a514, 0x11a576, 0x11a594,
602 0x11a5c0, 0x11a845, 0x11a8a4, 0x11a976, 0x11a984, 0x11a9a0,
603 0x11c2f6, 0x11c304, 0x11c370, 0x11c384, 0x11c3e6, 0x11c3f4,
604 0x11c400, 0x11c924, 0x11ca80, 0x11ca96, 0x11caa4, 0x11cb16,
605 0x11cb24, 0x11cb46, 0x11cb54, 0x11cb70, 0x11d314, 0x11d370,
606 0x11d3a4, 0x11d3b0, 0x11d3c4, 0x11d3e0, 0x11d3f4, 0x11d465,
607 0x11d474, 0x11d480, 0x11d8a6, 0x11d8f0, 0x11d904, 0x11d920,
608 0x11d936, 0x11d954, 0x11d966, 0x11d974, 0x11d980, 0x11ef34,
609 0x11ef56, 0x11ef70, 0x11f004, 0x11f025, 0x11f036, 0x11f040,
610 0x11f346, 0x11f364, 0x11f3b0, 0x11f3e6, 0x11f404, 0x11f430,
611 0x11f5a4, 0x11f5b0, 0x134301, 0x134404, 0x134410, 0x134474,
612 0x134560, 0x1611e4, 0x1612a6, 0x1612d4, 0x161300, 0x16af04,
613 0x16af50, 0x16b304, 0x16b370, 0x16d638, 0x16d640, 0x16d678,
614 0x16d6b0, 0x16f4f4, 0x16f500, 0x16f516, 0x16f880, 0x16f8f4,
615 0x16f930, 0x16fe44, 0x16fe50, 0x16ff04, 0x16ff20, 0x1bc9d4,
616 0x1bc9f0, 0x1bca01, 0x1bca40, 0x1cf004, 0x1cf2e0, 0x1cf304,
617 0x1cf470, 0x1d1654, 0x1d16a0, 0x1d16d4, 0x1d1731, 0x1d17b4,
618 0x1d1830, 0x1d1854, 0x1d18c0, 0x1d1aa4, 0x1d1ae0, 0x1d2424,
619 0x1d2450, 0x1da004, 0x1da370, 0x1da3b4, 0x1da6d0, 0x1da754,
620 0x1da760, 0x1da844, 0x1da850, 0x1da9b4, 0x1daa00, 0x1daa14,
621 0x1dab00, 0x1e0004, 0x1e0070, 0x1e0084, 0x1e0190, 0x1e01b4,
622 0x1e0220, 0x1e0234, 0x1e0250, 0x1e0264, 0x1e02b0, 0x1e08f4,
623 0x1e0900, 0x1e1304, 0x1e1370, 0x1e2ae4, 0x1e2af0, 0x1e2ec4,
624 0x1e2f00, 0x1e4ec4, 0x1e4f00, 0x1e5ee4, 0x1e5f00, 0x1e8d04,
625 0x1e8d70, 0x1e9444, 0x1e94b0, 0x1f1e6d, 0x1f2000, 0x1f3fb4,
626 0x1f4000, 0xe00001, 0xe00204, 0xe00801, 0xe01004, 0xe01f01,
627 0xe10000,
628 };
629
630 inline constexpr char32_t __incb_linkers[] = {
631 0x094d, 0x09cd, 0x0acd, 0x0b4d, 0x0c4d, 0x0d4d,
632 };
633
634 enum class _InCB { _Consonant = 1, _Extend = 2 };
635
636 // Values generated by contrib/unicode/gen_libstdcxx_unicode_data.py,
637 // from DerivedCoreProperties.txt from the Unicode standard.
638 // Entries are (code_point << 2) + property.
639 inline constexpr uint32_t __incb_edges[] = {
640 0xc02, 0xdc0, 0x120e, 0x1228, 0x1646, 0x16f8,
641 0x16fe, 0x1700, 0x1706, 0x170c, 0x1712, 0x1718,
642 0x171e, 0x1720, 0x1842, 0x186c, 0x192e, 0x1980,
643 0x19c2, 0x19c4, 0x1b5a, 0x1b74, 0x1b7e, 0x1b94,
644 0x1b9e, 0x1ba4, 0x1baa, 0x1bb8, 0x1c46, 0x1c48,
645 0x1cc2, 0x1d2c, 0x1e9a, 0x1ec4, 0x1fae, 0x1fd0,
646 0x1ff6, 0x1ff8, 0x205a, 0x2068, 0x206e, 0x2090,
647 0x2096, 0x20a0, 0x20a6, 0x20b8, 0x2166, 0x2170,
648 0x225e, 0x2280, 0x232a, 0x2388, 0x238e, 0x240c,
649 0x2455, 0x24ea, 0x24ec, 0x24f2, 0x24f4, 0x2506,
650 0x2524, 0x2546, 0x2561, 0x2580, 0x258a, 0x2590,
651 0x25e1, 0x2600, 0x2606, 0x2608, 0x2655, 0x26a4,
652 0x26a9, 0x26c4, 0x26c9, 0x26cc, 0x26d9, 0x26e8,
653 0x26f2, 0x26f4, 0x26fa, 0x26fc, 0x2706, 0x2714,
654 0x275e, 0x2760, 0x2771, 0x2778, 0x277d, 0x2780,
655 0x278a, 0x2790, 0x27c1, 0x27c8, 0x27fa, 0x27fc,
656 0x2806, 0x280c, 0x28f2, 0x28f4, 0x2906, 0x290c,
657 0x291e, 0x2924, 0x292e, 0x2938, 0x2946, 0x2948,
658 0x29c2, 0x29c8, 0x29d6, 0x29d8, 0x2a06, 0x2a0c,
659 0x2a55, 0x2aa4, 0x2aa9, 0x2ac4, 0x2ac9, 0x2ad0,
660 0x2ad5, 0x2ae8, 0x2af2, 0x2af4, 0x2b06, 0x2b18,
661 0x2b1e, 0x2b24, 0x2b8a, 0x2b90, 0x2be5, 0x2bea,
662 0x2c00, 0x2c06, 0x2c08, 0x2c55, 0x2ca4, 0x2ca9,
663 0x2cc4, 0x2cc9, 0x2cd0, 0x2cd5, 0x2ce8, 0x2cf2,
664 0x2cf4, 0x2cfa, 0x2d00, 0x2d06, 0x2d14, 0x2d56,
665 0x2d60, 0x2d71, 0x2d78, 0x2d7d, 0x2d80, 0x2d8a,
666 0x2d90, 0x2dc5, 0x2dc8, 0x2e0a, 0x2e0c, 0x2efa,
667 0x2efc, 0x2f02, 0x2f04, 0x2f36, 0x2f38, 0x2f5e,
668 0x2f60, 0x3002, 0x3004, 0x3012, 0x3014, 0x3055,
669 0x30a4, 0x30a9, 0x30e8, 0x30f2, 0x30f4, 0x30fa,
670 0x3104, 0x311a, 0x3124, 0x312a, 0x3134, 0x3156,
671 0x315c, 0x3161, 0x316c, 0x318a, 0x3190, 0x3206,
672 0x3208, 0x32f2, 0x32f4, 0x32fe, 0x3304, 0x330a,
673 0x330c, 0x331a, 0x3324, 0x332a, 0x3338, 0x3356,
674 0x335c, 0x338a, 0x3390, 0x3402, 0x3408, 0x3455,
675 0x34ee, 0x34f4, 0x34fa, 0x34fc, 0x3506, 0x3514,
676 0x355e, 0x3560, 0x358a, 0x3590, 0x3606, 0x3608,
677 0x372a, 0x372c, 0x373e, 0x3740, 0x374a, 0x3754,
678 0x375a, 0x375c, 0x377e, 0x3780, 0x38c6, 0x38c8,
679 0x38d2, 0x38ec, 0x391e, 0x393c, 0x3ac6, 0x3ac8,
680 0x3ad2, 0x3af4, 0x3b22, 0x3b3c, 0x3c62, 0x3c68,
681 0x3cd6, 0x3cd8, 0x3cde, 0x3ce0, 0x3ce6, 0x3ce8,
682 0x3dc6, 0x3dfc, 0x3e02, 0x3e14, 0x3e1a, 0x3e20,
683 0x3e36, 0x3e60, 0x3e66, 0x3ef4, 0x3f1a, 0x3f1c,
684 0x40b6, 0x40c4, 0x40ca, 0x40e0, 0x40e6, 0x40ec,
685 0x40f6, 0x40fc, 0x4162, 0x4168, 0x417a, 0x4184,
686 0x41c6, 0x41d4, 0x420a, 0x420c, 0x4216, 0x421c,
687 0x4236, 0x4238, 0x4276, 0x4278, 0x4d76, 0x4d80,
688 0x5c4a, 0x5c58, 0x5cca, 0x5cd4, 0x5d4a, 0x5d50,
689 0x5dca, 0x5dd0, 0x5ed2, 0x5ed8, 0x5ede, 0x5ef8,
690 0x5f1a, 0x5f1c, 0x5f26, 0x5f50, 0x5f76, 0x5f78,
691 0x602e, 0x6038, 0x603e, 0x6040, 0x6216, 0x621c,
692 0x62a6, 0x62a8, 0x6482, 0x648c, 0x649e, 0x64a4,
693 0x64ca, 0x64cc, 0x64e6, 0x64f0, 0x685e, 0x6864,
694 0x686e, 0x6870, 0x695a, 0x695c, 0x6962, 0x697c,
695 0x6982, 0x6984, 0x698a, 0x698c, 0x6996, 0x69b4,
696 0x69ce, 0x69f4, 0x69fe, 0x6a00, 0x6ac2, 0x6b3c,
697 0x6c02, 0x6c10, 0x6cd2, 0x6cf8, 0x6d0a, 0x6d14,
698 0x6dae, 0x6dd0, 0x6e02, 0x6e08, 0x6e8a, 0x6e98,
699 0x6ea2, 0x6eb8, 0x6f9a, 0x6f9c, 0x6fa2, 0x6fa8,
700 0x6fb6, 0x6fb8, 0x6fbe, 0x6fd0, 0x70b2, 0x70d0,
701 0x70da, 0x70e0, 0x7342, 0x734c, 0x7352, 0x7384,
702 0x738a, 0x73a4, 0x73b6, 0x73b8, 0x73d2, 0x73d4,
703 0x73e2, 0x73e8, 0x7702, 0x7800, 0x8036, 0x8038,
704 0x8342, 0x83c4, 0xb3be, 0xb3c8, 0xb5fe, 0xb600,
705 0xb782, 0xb800, 0xc0aa, 0xc0c0, 0xc266, 0xc26c,
706 0x299be, 0x299cc, 0x299d2, 0x299f8, 0x29a7a, 0x29a80,
707 0x29bc2, 0x29bc8, 0x2a00a, 0x2a00c, 0x2a01a, 0x2a01c,
708 0x2a02e, 0x2a030, 0x2a096, 0x2a09c, 0x2a0b2, 0x2a0b4,
709 0x2a312, 0x2a318, 0x2a382, 0x2a3c8, 0x2a3fe, 0x2a400,
710 0x2a49a, 0x2a4b8, 0x2a51e, 0x2a548, 0x2a54e, 0x2a550,
711 0x2a602, 0x2a60c, 0x2a6ce, 0x2a6d0, 0x2a6da, 0x2a6e8,
712 0x2a6f2, 0x2a6f8, 0x2a702, 0x2a704, 0x2a796, 0x2a798,
713 0x2a8a6, 0x2a8bc, 0x2a8c6, 0x2a8cc, 0x2a8d6, 0x2a8dc,
714 0x2a90e, 0x2a910, 0x2a932, 0x2a934, 0x2a9f2, 0x2a9f4,
715 0x2aac2, 0x2aac4, 0x2aaca, 0x2aad4, 0x2aade, 0x2aae4,
716 0x2aafa, 0x2ab00, 0x2ab06, 0x2ab08, 0x2abb2, 0x2abb8,
717 0x2abda, 0x2abdc, 0x2af96, 0x2af98, 0x2afa2, 0x2afa4,
718 0x2afb6, 0x2afb8, 0x3ec7a, 0x3ec7c, 0x3f802, 0x3f840,
719 0x3f882, 0x3f8c0, 0x3fe7a, 0x3fe80, 0x407f6, 0x407f8,
720 0x40b82, 0x40b84, 0x40dda, 0x40dec, 0x42806, 0x42810,
721 0x42816, 0x4281c, 0x42832, 0x42840, 0x428e2, 0x428ec,
722 0x428fe, 0x42900, 0x42b96, 0x42b9c, 0x43492, 0x434a0,
723 0x435a6, 0x435b8, 0x43aae, 0x43ab4, 0x43bf2, 0x43c00,
724 0x43d1a, 0x43d44, 0x43e0a, 0x43e18, 0x44006, 0x44008,
725 0x440e2, 0x4411c, 0x441c2, 0x441c4, 0x441ce, 0x441d4,
726 0x441fe, 0x44208, 0x442ce, 0x442dc, 0x442e6, 0x442ec,
727 0x4430a, 0x4430c, 0x44402, 0x4440c, 0x4449e, 0x444b0,
728 0x444b6, 0x444d4, 0x445ce, 0x445d0, 0x44602, 0x44608,
729 0x446da, 0x446fc, 0x44702, 0x44704, 0x44726, 0x44734,
730 0x4473e, 0x44740, 0x448be, 0x448c8, 0x448d2, 0x448e0,
731 0x448fa, 0x448fc, 0x44906, 0x44908, 0x44b7e, 0x44b80,
732 0x44b8e, 0x44bac, 0x44c02, 0x44c08, 0x44cee, 0x44cf4,
733 0x44cfa, 0x44cfc, 0x44d02, 0x44d04, 0x44d36, 0x44d38,
734 0x44d5e, 0x44d60, 0x44d9a, 0x44db4, 0x44dc2, 0x44dd4,
735 0x44ee2, 0x44ee4, 0x44eee, 0x44f04, 0x44f0a, 0x44f0c,
736 0x44f16, 0x44f18, 0x44f1e, 0x44f28, 0x44f3a, 0x44f44,
737 0x44f4a, 0x44f4c, 0x44f86, 0x44f8c, 0x450e2, 0x45100,
738 0x4510a, 0x45114, 0x4511a, 0x4511c, 0x4517a, 0x4517c,
739 0x452c2, 0x452c4, 0x452ce, 0x452e4, 0x452ea, 0x452ec,
740 0x452f6, 0x452f8, 0x452fe, 0x45304, 0x4530a, 0x45310,
741 0x456be, 0x456c0, 0x456ca, 0x456d8, 0x456f2, 0x456f8,
742 0x456fe, 0x45704, 0x45772, 0x45778, 0x458ce, 0x458ec,
743 0x458f6, 0x458f8, 0x458fe, 0x45904, 0x45aae, 0x45ab0,
744 0x45ab6, 0x45ab8, 0x45ac2, 0x45ae0, 0x45c76, 0x45c78,
745 0x45c7e, 0x45c80, 0x45c8a, 0x45c98, 0x45c9e, 0x45cb0,
746 0x460be, 0x460e0, 0x460e6, 0x460ec, 0x464c2, 0x464c4,
747 0x464ee, 0x464fc, 0x4650e, 0x46510, 0x46752, 0x46760,
748 0x4676a, 0x46770, 0x46782, 0x46784, 0x46806, 0x4682c,
749 0x468ce, 0x468e4, 0x468ee, 0x468fc, 0x4691e, 0x46920,
750 0x46946, 0x4695c, 0x46966, 0x46970, 0x46a2a, 0x46a5c,
751 0x46a62, 0x46a68, 0x470c2, 0x470dc, 0x470e2, 0x470f8,
752 0x470fe, 0x47100, 0x4724a, 0x472a0, 0x472aa, 0x472c4,
753 0x472ca, 0x472d0, 0x472d6, 0x472dc, 0x474c6, 0x474dc,
754 0x474ea, 0x474ec, 0x474f2, 0x474f8, 0x474fe, 0x47518,
755 0x4751e, 0x47520, 0x47642, 0x47648, 0x47656, 0x47658,
756 0x4765e, 0x47660, 0x47bce, 0x47bd4, 0x47c02, 0x47c08,
757 0x47cda, 0x47cec, 0x47d02, 0x47d0c, 0x47d6a, 0x47d6c,
758 0x4d102, 0x4d104, 0x4d11e, 0x4d158, 0x5847a, 0x584a8,
759 0x584b6, 0x584c0, 0x5abc2, 0x5abd4, 0x5acc2, 0x5acdc,
760 0x5bd3e, 0x5bd40, 0x5be3e, 0x5be4c, 0x5bf92, 0x5bf94,
761 0x5bfc2, 0x5bfc8, 0x6f276, 0x6f27c, 0x73c02, 0x73cb8,
762 0x73cc2, 0x73d1c, 0x74596, 0x745a8, 0x745b6, 0x745cc,
763 0x745ee, 0x7460c, 0x74616, 0x74630, 0x746aa, 0x746b8,
764 0x7490a, 0x74914, 0x76802, 0x768dc, 0x768ee, 0x769b4,
765 0x769d6, 0x769d8, 0x76a12, 0x76a14, 0x76a6e, 0x76a80,
766 0x76a86, 0x76ac0, 0x78002, 0x7801c, 0x78022, 0x78064,
767 0x7806e, 0x78088, 0x7808e, 0x78094, 0x7809a, 0x780ac,
768 0x7823e, 0x78240, 0x784c2, 0x784dc, 0x78aba, 0x78abc,
769 0x78bb2, 0x78bc0, 0x793b2, 0x793c0, 0x797ba, 0x797c0,
770 0x7a342, 0x7a35c, 0x7a512, 0x7a52c, 0x7cfee, 0x7d000,
771 0x380082, 0x380200, 0x380402, 0x3807c0,
772 };
773
774 // Table generated by contrib/unicode/gen_libstdcxx_unicode_data.py,
775 // from emoji-data.txt from the Unicode standard.
776 inline constexpr char32_t __xpicto_edges[] = {
777 0xa9, 0xaa, 0xae, 0xaf, 0x203c, 0x203d, 0x2049, 0x204a,
778 0x2122, 0x2123, 0x2139, 0x213a, 0x2194, 0x219a, 0x21a9, 0x21ab,
779 0x231a, 0x231c, 0x2328, 0x2329, 0x2388, 0x2389, 0x23cf, 0x23d0,
780 0x23e9, 0x23f4, 0x23f8, 0x23fb, 0x24c2, 0x24c3, 0x25aa, 0x25ac,
781 0x25b6, 0x25b7, 0x25c0, 0x25c1, 0x25fb, 0x25ff, 0x2600, 0x2606,
782 0x2607, 0x2613, 0x2614, 0x2686, 0x2690, 0x2706, 0x2708, 0x2713,
783 0x2714, 0x2715, 0x2716, 0x2717, 0x271d, 0x271e, 0x2721, 0x2722,
784 0x2728, 0x2729, 0x2733, 0x2735, 0x2744, 0x2745, 0x2747, 0x2748,
785 0x274c, 0x274d, 0x274e, 0x274f, 0x2753, 0x2756, 0x2757, 0x2758,
786 0x2763, 0x2768, 0x2795, 0x2798, 0x27a1, 0x27a2, 0x27b0, 0x27b1,
787 0x27bf, 0x27c0, 0x2934, 0x2936, 0x2b05, 0x2b08, 0x2b1b, 0x2b1d,
788 0x2b50, 0x2b51, 0x2b55, 0x2b56, 0x3030, 0x3031, 0x303d, 0x303e,
789 0x3297, 0x3298, 0x3299, 0x329a, 0x1f000, 0x1f100, 0x1f10d, 0x1f110,
790 0x1f12f, 0x1f130, 0x1f16c, 0x1f172, 0x1f17e, 0x1f180, 0x1f18e, 0x1f18f,
791 0x1f191, 0x1f19b, 0x1f1ad, 0x1f1e6, 0x1f201, 0x1f210, 0x1f21a, 0x1f21b,
792 0x1f22f, 0x1f230, 0x1f232, 0x1f23b, 0x1f23c, 0x1f240, 0x1f249, 0x1f3fb,
793 0x1f400, 0x1f53e, 0x1f546, 0x1f650, 0x1f680, 0x1f700, 0x1f774, 0x1f780,
794 0x1f7d5, 0x1f800, 0x1f80c, 0x1f810, 0x1f848, 0x1f850, 0x1f85a, 0x1f860,
795 0x1f888, 0x1f890, 0x1f8ae, 0x1f900, 0x1f90c, 0x1f93b, 0x1f93c, 0x1f946,
796 0x1f947, 0x1fb00, 0x1fc00, 0x1fffe,
797 };
798
799#undef _GLIBCXX_GET_UNICODE_DATA