source: icGREP/icgrep-devel/icgrep/UCD/SpecialCasing.h @ 5765

Last change on this file since 5765 was 5751, checked in by cameron, 20 months ago

LLVM_ALIGNAS placement, eliminate std::move of temp objects to allow copy elision

File size: 10.7 KB
Line 
1#ifndef SPECIALCASING_H
2#define SPECIALCASING_H
3/*
4 *  Copyright (c) 2017 International Characters, Inc.
5 *  This software is licensed to the public under the Open Software License 3.0.
6 *  icgrep is a trademark of International Characters, Inc.
7 *
8 *  This file is generated by UCD_properties.py - manual edits may be lost.
9 */
10
11#include "PropertyAliases.h"
12#include "PropertyObjects.h"
13#include "PropertyValueAliases.h"
14#include "UnicodeData.h"
15#include "unicode_set.h"
16
17namespace UCD {
18    namespace LC_ns {
19        /** Code Point Ranges for lc (possibly overriding values from SLC)
20        [00df, 00df], [0130, 0130], [0149, 0149], [01f0, 01f0],
21        [0390, 0390], [03b0, 03b0], [0587, 0587], [1e96, 1e9a],
22        [1f50, 1f50], [1f52, 1f52], [1f54, 1f54], [1f56, 1f56],
23        [1f80, 1faf], [1fb2, 1fb4], [1fb6, 1fb7], [1fbc, 1fbc],
24        [1fc2, 1fc4], [1fc6, 1fc7], [1fcc, 1fcc], [1fd2, 1fd3],
25        [1fd6, 1fd7], [1fe2, 1fe4], [1fe6, 1fe7], [1ff2, 1ff4],
26        [1ff6, 1ff7], [1ffc, 1ffc], [fb00, fb06], [fb13, fb17]**/
27
28       
29        namespace {
30        const static UnicodeSet::run_t __explicitly_defined_set_runs[] = {
31        {Empty, 6}, {Mixed, 1}, {Empty, 2}, {Mixed, 2}, {Empty, 4},
32        {Mixed, 1}, {Empty, 12}, {Mixed, 2}, {Empty, 14}, {Mixed, 1},
33        {Empty, 199}, {Mixed, 1}, {Empty, 5}, {Mixed, 1}, {Empty, 1},
34        {Full, 1}, {Mixed, 3}, {Empty, 1752}, {Mixed, 1}, {Empty, 32807}};
35        const static UnicodeSet::bitquad_t  __explicitly_defined_set_quads[] = {
36        0x80000000, 0x00010000, 0x00000200, 0x00010000, 0x00010000,
37        0x00010000, 0x00000080, 0x07c00000, 0x00550000, 0x10dcffff,
38        0x00cc10dc, 0x10dc00dc, 0x00f8007f};
39        }
40
41        const static UnicodeSet explicitly_defined_set{const_cast<UnicodeSet::run_t *>(__explicitly_defined_set_runs), 20, 0, const_cast<UnicodeSet::bitquad_t *>(__explicitly_defined_set_quads), 13, 0};
42
43
44
45        const unsigned buffer_length = 406;
46        const static char string_buffer LLVM_ALIGNAS(32) [512] = u8R"__(ß
47i̇
48ʼn
49Ç°
50ΐ
51ΰ
52և
53ẖ
54ẗ
55ẘ
56ẙ
57ẚ
58ᜐ
59ᜒ
60᜔
61᜖
62ៀ
63េ
64ែ
65ៃ
66ោ
67ៅ
68ំ
69ះ
70ៀ
71េ
72ែ
73ៃ
74ោ
75ៅ
76ំ
77ះ
78័
79៑
80្
81៓
82។
83៕
84៖
85ៗ
86័
87៑
88្
89៓
90។
91៕
92៖
93ៗ
94០
95១
96២
97៣
98ៀ
99៥
100៊
101៧
102០
103១
104២
105៣
106ៀ
107៥
108៊
109៧
110៲
111៳
112៎
113៶
114៷
115៳
116ῂ
117ῃ
118ῄ
119ῆ
120ῇ
121ῃ
122ῒ
123ΐ
124ῖ
125ῗ
126á¿¢
127á¿£
128á¿€
129á¿Š
130ῧ
131ῲ
132ῳ
133á¿Ž
134ῶ
135á¿·
136ῳ
137ff
138fi
139fl
140ffi
141ffl
142ſt
143st
144ﬓ
145ﬔ
146ﬕ
147ﬖ
148ﬗ
149)__";
150
151        const static std::vector<codepoint_t> defined_cps{
152        0x00df, 0x0130, 0x0149, 0x01f0, 0x0390, 0x03b0, 0x0587, 0x1e96,
153        0x1e97, 0x1e98, 0x1e99, 0x1e9a, 0x1f50, 0x1f52, 0x1f54, 0x1f56,
154        0x1f80, 0x1f81, 0x1f82, 0x1f83, 0x1f84, 0x1f85, 0x1f86, 0x1f87,
155        0x1f88, 0x1f89, 0x1f8a, 0x1f8b, 0x1f8c, 0x1f8d, 0x1f8e, 0x1f8f,
156        0x1f90, 0x1f91, 0x1f92, 0x1f93, 0x1f94, 0x1f95, 0x1f96, 0x1f97,
157        0x1f98, 0x1f99, 0x1f9a, 0x1f9b, 0x1f9c, 0x1f9d, 0x1f9e, 0x1f9f,
158        0x1fa0, 0x1fa1, 0x1fa2, 0x1fa3, 0x1fa4, 0x1fa5, 0x1fa6, 0x1fa7,
159        0x1fa8, 0x1fa9, 0x1faa, 0x1fab, 0x1fac, 0x1fad, 0x1fae, 0x1faf,
160        0x1fb2, 0x1fb3, 0x1fb4, 0x1fb6, 0x1fb7, 0x1fbc, 0x1fc2, 0x1fc3,
161        0x1fc4, 0x1fc6, 0x1fc7, 0x1fcc, 0x1fd2, 0x1fd3, 0x1fd6, 0x1fd7,
162        0x1fe2, 0x1fe3, 0x1fe4, 0x1fe6, 0x1fe7, 0x1ff2, 0x1ff3, 0x1ff4,
163        0x1ff6, 0x1ff7, 0x1ffc, 0xfb00, 0xfb01, 0xfb02, 0xfb03, 0xfb04,
164        0xfb05, 0xfb06, 0xfb13, 0xfb14, 0xfb15, 0xfb16, 0xfb17};
165        static StringOverridePropertyObject property_object(lc, 
166                                                    SLC_ns::property_object, 
167                                                    std::move(explicitly_defined_set), 
168                                                    static_cast<const char *>(string_buffer), 
169                                                    buffer_length, 
170                                                    std::move(defined_cps));
171    }
172    namespace UC_ns {
173        /** Code Point Ranges for uc (possibly overriding values from SUC)
174        [00df, 00df], [0130, 0130], [0149, 0149], [01f0, 01f0],
175        [0390, 0390], [03b0, 03b0], [0587, 0587], [1e96, 1e9a],
176        [1f50, 1f50], [1f52, 1f52], [1f54, 1f54], [1f56, 1f56],
177        [1f80, 1faf], [1fb2, 1fb4], [1fb6, 1fb7], [1fbc, 1fbc],
178        [1fc2, 1fc4], [1fc6, 1fc7], [1fcc, 1fcc], [1fd2, 1fd3],
179        [1fd6, 1fd7], [1fe2, 1fe4], [1fe6, 1fe7], [1ff2, 1ff4],
180        [1ff6, 1ff7], [1ffc, 1ffc], [fb00, fb06], [fb13, fb17]**/
181
182       
183        namespace {
184        const static UnicodeSet::run_t __explicitly_defined_set_runs[] = {
185        {Empty, 6}, {Mixed, 1}, {Empty, 2}, {Mixed, 2}, {Empty, 4},
186        {Mixed, 1}, {Empty, 12}, {Mixed, 2}, {Empty, 14}, {Mixed, 1},
187        {Empty, 199}, {Mixed, 1}, {Empty, 5}, {Mixed, 1}, {Empty, 1},
188        {Full, 1}, {Mixed, 3}, {Empty, 1752}, {Mixed, 1}, {Empty, 32807}};
189        const static UnicodeSet::bitquad_t  __explicitly_defined_set_quads[] = {
190        0x80000000, 0x00010000, 0x00000200, 0x00010000, 0x00010000,
191        0x00010000, 0x00000080, 0x07c00000, 0x00550000, 0x10dcffff,
192        0x00cc10dc, 0x10dc00dc, 0x00f8007f};
193        }
194
195        const static UnicodeSet explicitly_defined_set{const_cast<UnicodeSet::run_t *>(__explicitly_defined_set_runs), 20, 0, const_cast<UnicodeSet::bitquad_t *>(__explicitly_defined_set_quads), 13, 0};
196
197
198
199        const unsigned buffer_length = 571;
200        const static char string_buffer LLVM_ALIGNAS(32) [768] = u8R"__(SS
201Ä°
202ÊŒN
203J̌
204Ϊ́
205Ϋ́
206ԵՒ
207H̱
208T̈
209W̊
210Y̊
211AÊŸ
212Υ̓
213Υ̓̀
214Υ̓́
215Υ̓͂
216ገΙ
217ጉΙ
218ጊΙ
219ጋΙ
220ጌΙ
221ግΙ
222ጎΙ
223ጏΙ
224ገΙ
225ጉΙ
226ጊΙ
227ጋΙ
228ጌΙ
229ግΙ
230ጎΙ
231ጏΙ
232ጚΙ
233ጩΙ
234ጪΙ
235ጫΙ
236ጬΙ
237ጭΙ
238ጮΙ
239ጯΙ
240ጚΙ
241ጩΙ
242ጪΙ
243ጫΙ
244ጬΙ
245ጭΙ
246ጮΙ
247ጯΙ
248᜚Ι
249ᜩΙ
250ᜪΙ
251ᜫΙ
252ᜬΙ
253ᜭΙ
254ᜮΙ
255ᜯΙ
256᜚Ι
257ᜩΙ
258ᜪΙ
259ᜫΙ
260ᜬΙ
261ᜭΙ
262ᜮΙ
263ᜯΙ
264៺Ι
265ΑΙ
266ΆΙ
267Α͂
268Α͂Ι
269ΑΙ
270ῊΙ
271ΗΙ
272ΉΙ
273Η͂
274Η͂Ι
275ΗΙ
276Ϊ̀
277Ϊ́
278Ι͂
279Ϊ͂
280Ϋ̀
281Ϋ́
282Ρ̓
283Υ͂
284Ϋ͂
285ῺΙ
286ΩΙ
287ΏΙ
288Ω͂
289Ω͂Ι
290ΩΙ
291FF
292FI
293FL
294FFI
295FFL
296ST
297ST
298ՄՆ
299ՄԵ
300ՄԻ
301ՎՆ
302ՄԜ
303)__";
304
305        const static std::vector<codepoint_t> defined_cps{
306        0x00df, 0x0130, 0x0149, 0x01f0, 0x0390, 0x03b0, 0x0587, 0x1e96,
307        0x1e97, 0x1e98, 0x1e99, 0x1e9a, 0x1f50, 0x1f52, 0x1f54, 0x1f56,
308        0x1f80, 0x1f81, 0x1f82, 0x1f83, 0x1f84, 0x1f85, 0x1f86, 0x1f87,
309        0x1f88, 0x1f89, 0x1f8a, 0x1f8b, 0x1f8c, 0x1f8d, 0x1f8e, 0x1f8f,
310        0x1f90, 0x1f91, 0x1f92, 0x1f93, 0x1f94, 0x1f95, 0x1f96, 0x1f97,
311        0x1f98, 0x1f99, 0x1f9a, 0x1f9b, 0x1f9c, 0x1f9d, 0x1f9e, 0x1f9f,
312        0x1fa0, 0x1fa1, 0x1fa2, 0x1fa3, 0x1fa4, 0x1fa5, 0x1fa6, 0x1fa7,
313        0x1fa8, 0x1fa9, 0x1faa, 0x1fab, 0x1fac, 0x1fad, 0x1fae, 0x1faf,
314        0x1fb2, 0x1fb3, 0x1fb4, 0x1fb6, 0x1fb7, 0x1fbc, 0x1fc2, 0x1fc3,
315        0x1fc4, 0x1fc6, 0x1fc7, 0x1fcc, 0x1fd2, 0x1fd3, 0x1fd6, 0x1fd7,
316        0x1fe2, 0x1fe3, 0x1fe4, 0x1fe6, 0x1fe7, 0x1ff2, 0x1ff3, 0x1ff4,
317        0x1ff6, 0x1ff7, 0x1ffc, 0xfb00, 0xfb01, 0xfb02, 0xfb03, 0xfb04,
318        0xfb05, 0xfb06, 0xfb13, 0xfb14, 0xfb15, 0xfb16, 0xfb17};
319        static StringOverridePropertyObject property_object(uc, 
320                                                    SUC_ns::property_object, 
321                                                    std::move(explicitly_defined_set), 
322                                                    static_cast<const char *>(string_buffer), 
323                                                    buffer_length, 
324                                                    std::move(defined_cps));
325    }
326    namespace TC_ns {
327        /** Code Point Ranges for tc (possibly overriding values from STC)
328        [00df, 00df], [0130, 0130], [0149, 0149], [01f0, 01f0],
329        [0390, 0390], [03b0, 03b0], [0587, 0587], [1e96, 1e9a],
330        [1f50, 1f50], [1f52, 1f52], [1f54, 1f54], [1f56, 1f56],
331        [1f80, 1faf], [1fb2, 1fb4], [1fb6, 1fb7], [1fbc, 1fbc],
332        [1fc2, 1fc4], [1fc6, 1fc7], [1fcc, 1fcc], [1fd2, 1fd3],
333        [1fd6, 1fd7], [1fe2, 1fe4], [1fe6, 1fe7], [1ff2, 1ff4],
334        [1ff6, 1ff7], [1ffc, 1ffc], [fb00, fb06], [fb13, fb17]**/
335
336       
337        namespace {
338        const static UnicodeSet::run_t __explicitly_defined_set_runs[] = {
339        {Empty, 6}, {Mixed, 1}, {Empty, 2}, {Mixed, 2}, {Empty, 4},
340        {Mixed, 1}, {Empty, 12}, {Mixed, 2}, {Empty, 14}, {Mixed, 1},
341        {Empty, 199}, {Mixed, 1}, {Empty, 5}, {Mixed, 1}, {Empty, 1},
342        {Full, 1}, {Mixed, 3}, {Empty, 1752}, {Mixed, 1}, {Empty, 32807}};
343        const static UnicodeSet::bitquad_t  __explicitly_defined_set_quads[] = {
344        0x80000000, 0x00010000, 0x00000200, 0x00010000, 0x00010000,
345        0x00010000, 0x00000080, 0x07c00000, 0x00550000, 0x10dcffff,
346        0x00cc10dc, 0x10dc00dc, 0x00f8007f};
347        }
348
349        const static UnicodeSet explicitly_defined_set{const_cast<UnicodeSet::run_t *>(__explicitly_defined_set_runs), 20, 0, const_cast<UnicodeSet::bitquad_t *>(__explicitly_defined_set_quads), 13, 0};
350
351
352
353        const unsigned buffer_length = 469;
354        const static char string_buffer LLVM_ALIGNAS(32) [512] = u8R"__(Ss
355Ä°
356ÊŒN
357J̌
358Ϊ́
359Ϋ́
360Եւ
361H̱
362T̈
363W̊
364Y̊
365AÊŸ
366Υ̓
367Υ̓̀
368Υ̓́
369Υ̓͂
370ៈ
371៉
372៊
373់
374៌
375៍
376៎
377៏
378ៈ
379៉
380៊
381់
382៌
383៍
384៎
385៏
386៘
387៙
388៚
389៛
390ៜ
391៝
392៞
393៟
394៘
395៙
396៚
397៛
398ៜ
399៝
400៞
401៟
402៚
403៩
404៪
405៫
406៬
407៭
408៮
409៯
410៚
411៩
412៪
413៫
414៬
415៭
416៮
417៯
418៺ͅ
419៌
420Άͅ
421Α͂
422ᾼ͂
423៌
424Ὴͅ
425ῌ
426Ήͅ
427Η͂
428ῌ͂
429ῌ
430Ϊ̀
431Ϊ́
432Ι͂
433Ϊ͂
434Ϋ̀
435Ϋ́
436Ρ̓
437Υ͂
438Ϋ͂
439Ὼͅ
440ῌ
441Ώͅ
442Ω͂
443ῼ͂
444ῌ
445Ff
446Fi
447Fl
448Ffi
449Ffl
450St
451St
452Մն
453Մե
454Մի
455Վն
456Մխ
457)__";
458
459        const static std::vector<codepoint_t> defined_cps{
460        0x00df, 0x0130, 0x0149, 0x01f0, 0x0390, 0x03b0, 0x0587, 0x1e96,
461        0x1e97, 0x1e98, 0x1e99, 0x1e9a, 0x1f50, 0x1f52, 0x1f54, 0x1f56,
462        0x1f80, 0x1f81, 0x1f82, 0x1f83, 0x1f84, 0x1f85, 0x1f86, 0x1f87,
463        0x1f88, 0x1f89, 0x1f8a, 0x1f8b, 0x1f8c, 0x1f8d, 0x1f8e, 0x1f8f,
464        0x1f90, 0x1f91, 0x1f92, 0x1f93, 0x1f94, 0x1f95, 0x1f96, 0x1f97,
465        0x1f98, 0x1f99, 0x1f9a, 0x1f9b, 0x1f9c, 0x1f9d, 0x1f9e, 0x1f9f,
466        0x1fa0, 0x1fa1, 0x1fa2, 0x1fa3, 0x1fa4, 0x1fa5, 0x1fa6, 0x1fa7,
467        0x1fa8, 0x1fa9, 0x1faa, 0x1fab, 0x1fac, 0x1fad, 0x1fae, 0x1faf,
468        0x1fb2, 0x1fb3, 0x1fb4, 0x1fb6, 0x1fb7, 0x1fbc, 0x1fc2, 0x1fc3,
469        0x1fc4, 0x1fc6, 0x1fc7, 0x1fcc, 0x1fd2, 0x1fd3, 0x1fd6, 0x1fd7,
470        0x1fe2, 0x1fe3, 0x1fe4, 0x1fe6, 0x1fe7, 0x1ff2, 0x1ff3, 0x1ff4,
471        0x1ff6, 0x1ff7, 0x1ffc, 0xfb00, 0xfb01, 0xfb02, 0xfb03, 0xfb04,
472        0xfb05, 0xfb06, 0xfb13, 0xfb14, 0xfb15, 0xfb16, 0xfb17};
473        static StringOverridePropertyObject property_object(tc, 
474                                                    STC_ns::property_object, 
475                                                    std::move(explicitly_defined_set), 
476                                                    static_cast<const char *>(string_buffer), 
477                                                    buffer_length, 
478                                                    std::move(defined_cps));
479    }
480}
481
482
483#endif
Note: See TracBrowser for help on using the repository browser.