source: icGREP/icgrep-devel/icgrep/UCD/Jamo.h @ 5751

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

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

File size: 3.0 KB
Line 
1#ifndef JAMO_H
2#define JAMO_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 "unicode_set.h"
15
16namespace UCD {
17    namespace JSN_ns {
18        /** Code Point Ranges for JSN mapping to <none>
19        [0000, 10ff], [110b, 110b], [1113, 1160], [1176, 11a7],
20        [11c3, 10ffff]**/
21       
22       
23        namespace {
24        const static UnicodeSet::run_t __null_codepoint_set_runs[] = {
25        {Full, 136}, {Mixed, 1}, {Full, 2}, {Mixed, 1}, {Full, 1},
26        {Mixed, 2}, {Full, 34673}};
27        const static UnicodeSet::bitquad_t  __null_codepoint_set_quads[] = {
28        0xfff80800, 0xffc00001, 0x000000ff, 0xfffffff8};
29        }
30
31        const static UnicodeSet null_codepoint_set{const_cast<UnicodeSet::run_t *>(__null_codepoint_set_runs), 7, 0, const_cast<UnicodeSet::bitquad_t *>(__null_codepoint_set_quads), 4, 0};
32
33
34
35        /** Code Point Ranges for JSN mapping to <codepoint>
36        **/
37       
38       
39        namespace {
40        const static UnicodeSet::run_t __reflexive_set_runs[] = {
41        {Empty, 34816}};
42        const static UnicodeSet::bitquad_t * const __reflexive_set_quads = nullptr;
43        }
44
45        const static UnicodeSet reflexive_set{const_cast<UnicodeSet::run_t *>(__reflexive_set_runs), 1, 0, const_cast<UnicodeSet::bitquad_t *>(__reflexive_set_quads), 0, 0};
46
47
48
49        const unsigned buffer_length = 171;
50        const static char string_buffer LLVM_ALIGNAS(32) [256] = u8R"__(G
51GG
52N
53D
54DD
55R
56M
57B
58BB
59S
60SS
61J
62JJ
63C
64K
65T
66P
67H
68A
69AE
70YA
71YAE
72EO
73E
74YEO
75YE
76O
77WA
78WAE
79OE
80YO
81U
82WEO
83WE
84WI
85YU
86EU
87YI
88I
89G
90GG
91GS
92N
93NJ
94NH
95D
96L
97LG
98LM
99LB
100LS
101LT
102LP
103LH
104M
105B
106BS
107S
108SS
109NG
110J
111C
112K
113T
114P
115H
116)__";
117
118        const static std::vector<codepoint_t> defined_cps{
119        0x1100, 0x1101, 0x1102, 0x1103, 0x1104, 0x1105, 0x1106, 0x1107,
120        0x1108, 0x1109, 0x110a, 0x110c, 0x110d, 0x110e, 0x110f, 0x1110,
121        0x1111, 0x1112, 0x1161, 0x1162, 0x1163, 0x1164, 0x1165, 0x1166,
122        0x1167, 0x1168, 0x1169, 0x116a, 0x116b, 0x116c, 0x116d, 0x116e,
123        0x116f, 0x1170, 0x1171, 0x1172, 0x1173, 0x1174, 0x1175, 0x11a8,
124        0x11a9, 0x11aa, 0x11ab, 0x11ac, 0x11ad, 0x11ae, 0x11af, 0x11b0,
125        0x11b1, 0x11b2, 0x11b3, 0x11b4, 0x11b5, 0x11b6, 0x11b7, 0x11b8,
126        0x11b9, 0x11ba, 0x11bb, 0x11bc, 0x11bd, 0x11be, 0x11bf, 0x11c0,
127        0x11c1, 0x11c2};
128        static StringPropertyObject property_object(JSN, 
129                                                    std::move(null_codepoint_set), 
130                                                    std::move(reflexive_set), 
131                                                    static_cast<const char *>(string_buffer), 
132                                                    buffer_length, 
133                                                    std::move(defined_cps));
134    }
135}
136
137#endif
Note: See TracBrowser for help on using the repository browser.