Lines Matching defs:AsciiFlags
24 enum class AsciiFlags : uint32_t {
30 constexpr AsciiFlags operator|(AsciiFlags a, AsciiFlags b)
32 using Utype = std::underlying_type_t<AsciiFlags>;
33 return static_cast<AsciiFlags>(static_cast<Utype>(a) | static_cast<Utype>(b));
36 inline std::underlying_type_t<AsciiFlags> operator&(AsciiFlags a, AsciiFlags b)
38 using Utype = std::underlying_type_t<AsciiFlags>;
43 constexpr std::array<AsciiFlags, 128> ASCII_FLAGS = {{
44 AsciiFlags::NONE, /* NUL */
45 AsciiFlags::NONE, /* SOH */
46 AsciiFlags::NONE, /* STX */
47 AsciiFlags::NONE, /* ETX */
48 AsciiFlags::NONE, /* EOT */
49 AsciiFlags::NONE, /* ENQ */
50 AsciiFlags::NONE, /* ACK */
51 AsciiFlags::NONE, /* BEL */
52 AsciiFlags::NONE, /* BS */
53 AsciiFlags::NONE, /* TAB */
54 AsciiFlags::NONE, /* LF */
55 AsciiFlags::NONE, /* VT */
56 AsciiFlags::NONE, /* FF */
57 AsciiFlags::NONE, /* CR */
58 AsciiFlags::NONE, /* SO */
59 AsciiFlags::NONE, /* SI */
60 AsciiFlags::NONE, /* DLE */
61 AsciiFlags::NONE, /* DC1 */
62 AsciiFlags::NONE, /* DC2 */
63 AsciiFlags::NONE, /* DC3 */
64 AsciiFlags::NONE, /* DC4 */
65 AsciiFlags::NONE, /* NAK */
66 AsciiFlags::NONE, /* SYN */
67 AsciiFlags::NONE, /* ETB */
68 AsciiFlags::NONE, /* CAN */
69 AsciiFlags::NONE, /* EM */
70 AsciiFlags::NONE, /* SUB */
71 AsciiFlags::NONE, /* ESC */
72 AsciiFlags::NONE, /* FS */
73 AsciiFlags::NONE, /* GS */
74 AsciiFlags::NONE, /* RS */
75 AsciiFlags::NONE, /* US */
76 AsciiFlags::NONE, /* Space */
77 AsciiFlags::NONE, /* ! */
78 AsciiFlags::NONE, /* " */
79 AsciiFlags::NONE, /* # */
80 AsciiFlags::ID_START | AsciiFlags::ID_CONTINUE, /* $ */
81 AsciiFlags::NONE, /* % */
82 AsciiFlags::NONE, /* & */
83 AsciiFlags::NONE, /* ' */
84 AsciiFlags::NONE, /* ( */
85 AsciiFlags::NONE, /* ) */
86 AsciiFlags::NONE, /* * */
87 AsciiFlags::NONE, /* + */
88 AsciiFlags::NONE, /* , */
89 AsciiFlags::NONE, /* - */
90 AsciiFlags::NONE, /* . */
91 AsciiFlags::NONE, /* / */
92 AsciiFlags::ID_CONTINUE, /* 0 */
93 AsciiFlags::ID_CONTINUE, /* 1 */
94 AsciiFlags::ID_CONTINUE, /* 2 */
95 AsciiFlags::ID_CONTINUE, /* 3 */
96 AsciiFlags::ID_CONTINUE, /* 4 */
97 AsciiFlags::ID_CONTINUE, /* 5 */
98 AsciiFlags::ID_CONTINUE, /* 6 */
99 AsciiFlags::ID_CONTINUE, /* 7 */
100 AsciiFlags::ID_CONTINUE, /* 8 */
101 AsciiFlags::ID_CONTINUE, /* 9 */
102 AsciiFlags::NONE, /* : */
103 AsciiFlags::NONE, /* ; */
104 AsciiFlags::NONE, /* < */
105 AsciiFlags::NONE, /* = */
106 AsciiFlags::NONE, /* > */
107 AsciiFlags::NONE, /* ? */
108 AsciiFlags::NONE, /* @ */
109 AsciiFlags::ID_START | AsciiFlags::ID_CONTINUE, /* A */
110 AsciiFlags::ID_START | AsciiFlags::ID_CONTINUE, /* B */
111 AsciiFlags::ID_START | AsciiFlags::ID_CONTINUE, /* C */
112 AsciiFlags::ID_START | AsciiFlags::ID_CONTINUE, /* D */
113 AsciiFlags::ID_START | AsciiFlags::ID_CONTINUE, /* E */
114 AsciiFlags::ID_START | AsciiFlags::ID_CONTINUE, /* F */
115 AsciiFlags::ID_START | AsciiFlags::ID_CONTINUE, /* G */
116 AsciiFlags::ID_START | AsciiFlags::ID_CONTINUE, /* H */
117 AsciiFlags::ID_START | AsciiFlags::ID_CONTINUE, /* I */
118 AsciiFlags::ID_START | AsciiFlags::ID_CONTINUE, /* J */
119 AsciiFlags::ID_START | AsciiFlags::ID_CONTINUE, /* K */
120 AsciiFlags::ID_START | AsciiFlags::ID_CONTINUE, /* L */
121 AsciiFlags::ID_START | AsciiFlags::ID_CONTINUE, /* M */
122 AsciiFlags::ID_START | AsciiFlags::ID_CONTINUE, /* N */
123 AsciiFlags::ID_START | AsciiFlags::ID_CONTINUE, /* O */
124 AsciiFlags::ID_START | AsciiFlags::ID_CONTINUE, /* P */
125 AsciiFlags::ID_START | AsciiFlags::ID_CONTINUE, /* Q */
126 AsciiFlags::ID_START | AsciiFlags::ID_CONTINUE, /* R */
127 AsciiFlags::ID_START | AsciiFlags::ID_CONTINUE, /* S */
128 AsciiFlags::ID_START | AsciiFlags::ID_CONTINUE, /* T */
129 AsciiFlags::ID_START | AsciiFlags::ID_CONTINUE, /* U */
130 AsciiFlags::ID_START | AsciiFlags::ID_CONTINUE, /* V */
131 AsciiFlags::ID_START | AsciiFlags::ID_CONTINUE, /* W */
132 AsciiFlags::ID_START | AsciiFlags::ID_CONTINUE, /* X */
133 AsciiFlags::ID_START | AsciiFlags::ID_CONTINUE, /* Y */
134 AsciiFlags::ID_START | AsciiFlags::ID_CONTINUE, /* Z */
135 AsciiFlags::NONE, /* [ */
136 AsciiFlags::NONE, /* \ */
137 AsciiFlags::NONE, /* ] */
138 AsciiFlags::NONE, /* ^ */
139 AsciiFlags::ID_START | AsciiFlags::ID_CONTINUE, /* _ */
140 AsciiFlags::NONE, /* ` */
141 AsciiFlags::ID_START | AsciiFlags::ID_CONTINUE, /* a */
142 AsciiFlags::ID_START | AsciiFlags::ID_CONTINUE, /* b */
143 AsciiFlags::ID_START | AsciiFlags::ID_CONTINUE, /* c */
144 AsciiFlags::ID_START | AsciiFlags::ID_CONTINUE, /* d */
145 AsciiFlags::ID_START | AsciiFlags::ID_CONTINUE, /* e */
146 AsciiFlags::ID_START | AsciiFlags::ID_CONTINUE, /* f */
147 AsciiFlags::ID_START | AsciiFlags::ID_CONTINUE, /* g */
148 AsciiFlags::ID_START | AsciiFlags::ID_CONTINUE, /* h */
149 AsciiFlags::ID_START | AsciiFlags::ID_CONTINUE, /* i */
150 AsciiFlags::ID_START | AsciiFlags::ID_CONTINUE, /* j */
151 AsciiFlags::ID_START | AsciiFlags::ID_CONTINUE, /* k */
152 AsciiFlags::ID_START | AsciiFlags::ID_CONTINUE, /* l */
153 AsciiFlags::ID_START | AsciiFlags::ID_CONTINUE, /* m */
154 AsciiFlags::ID_START | AsciiFlags::ID_CONTINUE, /* n */
155 AsciiFlags::ID_START | AsciiFlags::ID_CONTINUE, /* o */
156 AsciiFlags::ID_START | AsciiFlags::ID_CONTINUE, /* p */
157 AsciiFlags::ID_START | AsciiFlags::ID_CONTINUE, /* q */
158 AsciiFlags::ID_START | AsciiFlags::ID_CONTINUE, /* r */
159 AsciiFlags::ID_START | AsciiFlags::ID_CONTINUE, /* s */
160 AsciiFlags::ID_START | AsciiFlags::ID_CONTINUE, /* t */
161 AsciiFlags::ID_START | AsciiFlags::ID_CONTINUE, /* u */
162 AsciiFlags::ID_START | AsciiFlags::ID_CONTINUE, /* v */
163 AsciiFlags::ID_START | AsciiFlags::ID_CONTINUE, /* w */
164 AsciiFlags::ID_START | AsciiFlags::ID_CONTINUE, /* x */
165 AsciiFlags::ID_START | AsciiFlags::ID_CONTINUE, /* y */
166 AsciiFlags::ID_START | AsciiFlags::ID_CONTINUE, /* z */
167 AsciiFlags::NONE, /* { */
168 AsciiFlags::NONE, /* | */
169 AsciiFlags::NONE, /* } */
170 AsciiFlags::NONE, /* ~ */
171 AsciiFlags::NONE /* DEL */
177 return (ASCII_FLAGS[cp] & AsciiFlags::ID_START) != 0;
187 return (ASCII_FLAGS[cp] & AsciiFlags::ID_CONTINUE) != 0;