unicode_types/generated/
domino_tiles.rs

1
2/// An enum to represent all characters in the DominoTiles block.
3#[derive(Debug, Clone, Copy, Hash, PartialEq, Eq)]
4pub enum DominoTiles {
5    /// \u{1f030}: '🀰'
6    DominoTileHorizontalBack,
7    /// \u{1f031}: '🀱'
8    DominoTileHorizontalDash00Dash00,
9    /// \u{1f032}: '🀲'
10    DominoTileHorizontalDash00Dash01,
11    /// \u{1f033}: '🀳'
12    DominoTileHorizontalDash00Dash02,
13    /// \u{1f034}: '🀴'
14    DominoTileHorizontalDash00Dash03,
15    /// \u{1f035}: '🀵'
16    DominoTileHorizontalDash00Dash04,
17    /// \u{1f036}: '🀶'
18    DominoTileHorizontalDash00Dash05,
19    /// \u{1f037}: '🀷'
20    DominoTileHorizontalDash00Dash06,
21    /// \u{1f038}: '🀸'
22    DominoTileHorizontalDash01Dash00,
23    /// \u{1f039}: '🀹'
24    DominoTileHorizontalDash01Dash01,
25    /// \u{1f03a}: '🀺'
26    DominoTileHorizontalDash01Dash02,
27    /// \u{1f03b}: '🀻'
28    DominoTileHorizontalDash01Dash03,
29    /// \u{1f03c}: '🀼'
30    DominoTileHorizontalDash01Dash04,
31    /// \u{1f03d}: '🀽'
32    DominoTileHorizontalDash01Dash05,
33    /// \u{1f03e}: '🀾'
34    DominoTileHorizontalDash01Dash06,
35    /// \u{1f03f}: '🀿'
36    DominoTileHorizontalDash02Dash00,
37    /// \u{1f040}: '🁀'
38    DominoTileHorizontalDash02Dash01,
39    /// \u{1f041}: '🁁'
40    DominoTileHorizontalDash02Dash02,
41    /// \u{1f042}: '🁂'
42    DominoTileHorizontalDash02Dash03,
43    /// \u{1f043}: '🁃'
44    DominoTileHorizontalDash02Dash04,
45    /// \u{1f044}: '🁄'
46    DominoTileHorizontalDash02Dash05,
47    /// \u{1f045}: '🁅'
48    DominoTileHorizontalDash02Dash06,
49    /// \u{1f046}: '🁆'
50    DominoTileHorizontalDash03Dash00,
51    /// \u{1f047}: '🁇'
52    DominoTileHorizontalDash03Dash01,
53    /// \u{1f048}: '🁈'
54    DominoTileHorizontalDash03Dash02,
55    /// \u{1f049}: '🁉'
56    DominoTileHorizontalDash03Dash03,
57    /// \u{1f04a}: '🁊'
58    DominoTileHorizontalDash03Dash04,
59    /// \u{1f04b}: '🁋'
60    DominoTileHorizontalDash03Dash05,
61    /// \u{1f04c}: '🁌'
62    DominoTileHorizontalDash03Dash06,
63    /// \u{1f04d}: '🁍'
64    DominoTileHorizontalDash04Dash00,
65    /// \u{1f04e}: '🁎'
66    DominoTileHorizontalDash04Dash01,
67    /// \u{1f04f}: '🁏'
68    DominoTileHorizontalDash04Dash02,
69    /// \u{1f050}: '🁐'
70    DominoTileHorizontalDash04Dash03,
71    /// \u{1f051}: '🁑'
72    DominoTileHorizontalDash04Dash04,
73    /// \u{1f052}: '🁒'
74    DominoTileHorizontalDash04Dash05,
75    /// \u{1f053}: '🁓'
76    DominoTileHorizontalDash04Dash06,
77    /// \u{1f054}: '🁔'
78    DominoTileHorizontalDash05Dash00,
79    /// \u{1f055}: '🁕'
80    DominoTileHorizontalDash05Dash01,
81    /// \u{1f056}: '🁖'
82    DominoTileHorizontalDash05Dash02,
83    /// \u{1f057}: '🁗'
84    DominoTileHorizontalDash05Dash03,
85    /// \u{1f058}: '🁘'
86    DominoTileHorizontalDash05Dash04,
87    /// \u{1f059}: '🁙'
88    DominoTileHorizontalDash05Dash05,
89    /// \u{1f05a}: '🁚'
90    DominoTileHorizontalDash05Dash06,
91    /// \u{1f05b}: '🁛'
92    DominoTileHorizontalDash06Dash00,
93    /// \u{1f05c}: '🁜'
94    DominoTileHorizontalDash06Dash01,
95    /// \u{1f05d}: '🁝'
96    DominoTileHorizontalDash06Dash02,
97    /// \u{1f05e}: '🁞'
98    DominoTileHorizontalDash06Dash03,
99    /// \u{1f05f}: '🁟'
100    DominoTileHorizontalDash06Dash04,
101    /// \u{1f060}: '🁠'
102    DominoTileHorizontalDash06Dash05,
103    /// \u{1f061}: '🁡'
104    DominoTileHorizontalDash06Dash06,
105    /// \u{1f062}: '🁢'
106    DominoTileVerticalBack,
107    /// \u{1f063}: '🁣'
108    DominoTileVerticalDash00Dash00,
109    /// \u{1f064}: '🁤'
110    DominoTileVerticalDash00Dash01,
111    /// \u{1f065}: '🁥'
112    DominoTileVerticalDash00Dash02,
113    /// \u{1f066}: '🁦'
114    DominoTileVerticalDash00Dash03,
115    /// \u{1f067}: '🁧'
116    DominoTileVerticalDash00Dash04,
117    /// \u{1f068}: '🁨'
118    DominoTileVerticalDash00Dash05,
119    /// \u{1f069}: '🁩'
120    DominoTileVerticalDash00Dash06,
121    /// \u{1f06a}: '🁪'
122    DominoTileVerticalDash01Dash00,
123    /// \u{1f06b}: '🁫'
124    DominoTileVerticalDash01Dash01,
125    /// \u{1f06c}: '🁬'
126    DominoTileVerticalDash01Dash02,
127    /// \u{1f06d}: '🁭'
128    DominoTileVerticalDash01Dash03,
129    /// \u{1f06e}: '🁮'
130    DominoTileVerticalDash01Dash04,
131    /// \u{1f06f}: '🁯'
132    DominoTileVerticalDash01Dash05,
133    /// \u{1f070}: '🁰'
134    DominoTileVerticalDash01Dash06,
135    /// \u{1f071}: '🁱'
136    DominoTileVerticalDash02Dash00,
137    /// \u{1f072}: '🁲'
138    DominoTileVerticalDash02Dash01,
139    /// \u{1f073}: '🁳'
140    DominoTileVerticalDash02Dash02,
141    /// \u{1f074}: '🁴'
142    DominoTileVerticalDash02Dash03,
143    /// \u{1f075}: '🁵'
144    DominoTileVerticalDash02Dash04,
145    /// \u{1f076}: '🁶'
146    DominoTileVerticalDash02Dash05,
147    /// \u{1f077}: '🁷'
148    DominoTileVerticalDash02Dash06,
149    /// \u{1f078}: '🁸'
150    DominoTileVerticalDash03Dash00,
151    /// \u{1f079}: '🁹'
152    DominoTileVerticalDash03Dash01,
153    /// \u{1f07a}: '🁺'
154    DominoTileVerticalDash03Dash02,
155    /// \u{1f07b}: '🁻'
156    DominoTileVerticalDash03Dash03,
157    /// \u{1f07c}: '🁼'
158    DominoTileVerticalDash03Dash04,
159    /// \u{1f07d}: '🁽'
160    DominoTileVerticalDash03Dash05,
161    /// \u{1f07e}: '🁾'
162    DominoTileVerticalDash03Dash06,
163    /// \u{1f07f}: '🁿'
164    DominoTileVerticalDash04Dash00,
165    /// \u{1f080}: '🂀'
166    DominoTileVerticalDash04Dash01,
167    /// \u{1f081}: '🂁'
168    DominoTileVerticalDash04Dash02,
169    /// \u{1f082}: '🂂'
170    DominoTileVerticalDash04Dash03,
171    /// \u{1f083}: '🂃'
172    DominoTileVerticalDash04Dash04,
173    /// \u{1f084}: '🂄'
174    DominoTileVerticalDash04Dash05,
175    /// \u{1f085}: '🂅'
176    DominoTileVerticalDash04Dash06,
177    /// \u{1f086}: '🂆'
178    DominoTileVerticalDash05Dash00,
179    /// \u{1f087}: '🂇'
180    DominoTileVerticalDash05Dash01,
181    /// \u{1f088}: '🂈'
182    DominoTileVerticalDash05Dash02,
183    /// \u{1f089}: '🂉'
184    DominoTileVerticalDash05Dash03,
185    /// \u{1f08a}: '🂊'
186    DominoTileVerticalDash05Dash04,
187    /// \u{1f08b}: '🂋'
188    DominoTileVerticalDash05Dash05,
189    /// \u{1f08c}: '🂌'
190    DominoTileVerticalDash05Dash06,
191    /// \u{1f08d}: '🂍'
192    DominoTileVerticalDash06Dash00,
193    /// \u{1f08e}: '🂎'
194    DominoTileVerticalDash06Dash01,
195    /// \u{1f08f}: '🂏'
196    DominoTileVerticalDash06Dash02,
197    /// \u{1f090}: '🂐'
198    DominoTileVerticalDash06Dash03,
199    /// \u{1f091}: '🂑'
200    DominoTileVerticalDash06Dash04,
201    /// \u{1f092}: '🂒'
202    DominoTileVerticalDash06Dash05,
203    /// \u{1f093}: '🂓'
204    DominoTileVerticalDash06Dash06,
205}
206
207impl Into<char> for DominoTiles {
208    fn into(self) -> char {
209        match self {
210            DominoTiles::DominoTileHorizontalBack => '🀰',
211            DominoTiles::DominoTileHorizontalDash00Dash00 => '🀱',
212            DominoTiles::DominoTileHorizontalDash00Dash01 => '🀲',
213            DominoTiles::DominoTileHorizontalDash00Dash02 => '🀳',
214            DominoTiles::DominoTileHorizontalDash00Dash03 => '🀴',
215            DominoTiles::DominoTileHorizontalDash00Dash04 => '🀵',
216            DominoTiles::DominoTileHorizontalDash00Dash05 => '🀶',
217            DominoTiles::DominoTileHorizontalDash00Dash06 => '🀷',
218            DominoTiles::DominoTileHorizontalDash01Dash00 => '🀸',
219            DominoTiles::DominoTileHorizontalDash01Dash01 => '🀹',
220            DominoTiles::DominoTileHorizontalDash01Dash02 => '🀺',
221            DominoTiles::DominoTileHorizontalDash01Dash03 => '🀻',
222            DominoTiles::DominoTileHorizontalDash01Dash04 => '🀼',
223            DominoTiles::DominoTileHorizontalDash01Dash05 => '🀽',
224            DominoTiles::DominoTileHorizontalDash01Dash06 => '🀾',
225            DominoTiles::DominoTileHorizontalDash02Dash00 => '🀿',
226            DominoTiles::DominoTileHorizontalDash02Dash01 => '🁀',
227            DominoTiles::DominoTileHorizontalDash02Dash02 => '🁁',
228            DominoTiles::DominoTileHorizontalDash02Dash03 => '🁂',
229            DominoTiles::DominoTileHorizontalDash02Dash04 => '🁃',
230            DominoTiles::DominoTileHorizontalDash02Dash05 => '🁄',
231            DominoTiles::DominoTileHorizontalDash02Dash06 => '🁅',
232            DominoTiles::DominoTileHorizontalDash03Dash00 => '🁆',
233            DominoTiles::DominoTileHorizontalDash03Dash01 => '🁇',
234            DominoTiles::DominoTileHorizontalDash03Dash02 => '🁈',
235            DominoTiles::DominoTileHorizontalDash03Dash03 => '🁉',
236            DominoTiles::DominoTileHorizontalDash03Dash04 => '🁊',
237            DominoTiles::DominoTileHorizontalDash03Dash05 => '🁋',
238            DominoTiles::DominoTileHorizontalDash03Dash06 => '🁌',
239            DominoTiles::DominoTileHorizontalDash04Dash00 => '🁍',
240            DominoTiles::DominoTileHorizontalDash04Dash01 => '🁎',
241            DominoTiles::DominoTileHorizontalDash04Dash02 => '🁏',
242            DominoTiles::DominoTileHorizontalDash04Dash03 => '🁐',
243            DominoTiles::DominoTileHorizontalDash04Dash04 => '🁑',
244            DominoTiles::DominoTileHorizontalDash04Dash05 => '🁒',
245            DominoTiles::DominoTileHorizontalDash04Dash06 => '🁓',
246            DominoTiles::DominoTileHorizontalDash05Dash00 => '🁔',
247            DominoTiles::DominoTileHorizontalDash05Dash01 => '🁕',
248            DominoTiles::DominoTileHorizontalDash05Dash02 => '🁖',
249            DominoTiles::DominoTileHorizontalDash05Dash03 => '🁗',
250            DominoTiles::DominoTileHorizontalDash05Dash04 => '🁘',
251            DominoTiles::DominoTileHorizontalDash05Dash05 => '🁙',
252            DominoTiles::DominoTileHorizontalDash05Dash06 => '🁚',
253            DominoTiles::DominoTileHorizontalDash06Dash00 => '🁛',
254            DominoTiles::DominoTileHorizontalDash06Dash01 => '🁜',
255            DominoTiles::DominoTileHorizontalDash06Dash02 => '🁝',
256            DominoTiles::DominoTileHorizontalDash06Dash03 => '🁞',
257            DominoTiles::DominoTileHorizontalDash06Dash04 => '🁟',
258            DominoTiles::DominoTileHorizontalDash06Dash05 => '🁠',
259            DominoTiles::DominoTileHorizontalDash06Dash06 => '🁡',
260            DominoTiles::DominoTileVerticalBack => '🁢',
261            DominoTiles::DominoTileVerticalDash00Dash00 => '🁣',
262            DominoTiles::DominoTileVerticalDash00Dash01 => '🁤',
263            DominoTiles::DominoTileVerticalDash00Dash02 => '🁥',
264            DominoTiles::DominoTileVerticalDash00Dash03 => '🁦',
265            DominoTiles::DominoTileVerticalDash00Dash04 => '🁧',
266            DominoTiles::DominoTileVerticalDash00Dash05 => '🁨',
267            DominoTiles::DominoTileVerticalDash00Dash06 => '🁩',
268            DominoTiles::DominoTileVerticalDash01Dash00 => '🁪',
269            DominoTiles::DominoTileVerticalDash01Dash01 => '🁫',
270            DominoTiles::DominoTileVerticalDash01Dash02 => '🁬',
271            DominoTiles::DominoTileVerticalDash01Dash03 => '🁭',
272            DominoTiles::DominoTileVerticalDash01Dash04 => '🁮',
273            DominoTiles::DominoTileVerticalDash01Dash05 => '🁯',
274            DominoTiles::DominoTileVerticalDash01Dash06 => '🁰',
275            DominoTiles::DominoTileVerticalDash02Dash00 => '🁱',
276            DominoTiles::DominoTileVerticalDash02Dash01 => '🁲',
277            DominoTiles::DominoTileVerticalDash02Dash02 => '🁳',
278            DominoTiles::DominoTileVerticalDash02Dash03 => '🁴',
279            DominoTiles::DominoTileVerticalDash02Dash04 => '🁵',
280            DominoTiles::DominoTileVerticalDash02Dash05 => '🁶',
281            DominoTiles::DominoTileVerticalDash02Dash06 => '🁷',
282            DominoTiles::DominoTileVerticalDash03Dash00 => '🁸',
283            DominoTiles::DominoTileVerticalDash03Dash01 => '🁹',
284            DominoTiles::DominoTileVerticalDash03Dash02 => '🁺',
285            DominoTiles::DominoTileVerticalDash03Dash03 => '🁻',
286            DominoTiles::DominoTileVerticalDash03Dash04 => '🁼',
287            DominoTiles::DominoTileVerticalDash03Dash05 => '🁽',
288            DominoTiles::DominoTileVerticalDash03Dash06 => '🁾',
289            DominoTiles::DominoTileVerticalDash04Dash00 => '🁿',
290            DominoTiles::DominoTileVerticalDash04Dash01 => '🂀',
291            DominoTiles::DominoTileVerticalDash04Dash02 => '🂁',
292            DominoTiles::DominoTileVerticalDash04Dash03 => '🂂',
293            DominoTiles::DominoTileVerticalDash04Dash04 => '🂃',
294            DominoTiles::DominoTileVerticalDash04Dash05 => '🂄',
295            DominoTiles::DominoTileVerticalDash04Dash06 => '🂅',
296            DominoTiles::DominoTileVerticalDash05Dash00 => '🂆',
297            DominoTiles::DominoTileVerticalDash05Dash01 => '🂇',
298            DominoTiles::DominoTileVerticalDash05Dash02 => '🂈',
299            DominoTiles::DominoTileVerticalDash05Dash03 => '🂉',
300            DominoTiles::DominoTileVerticalDash05Dash04 => '🂊',
301            DominoTiles::DominoTileVerticalDash05Dash05 => '🂋',
302            DominoTiles::DominoTileVerticalDash05Dash06 => '🂌',
303            DominoTiles::DominoTileVerticalDash06Dash00 => '🂍',
304            DominoTiles::DominoTileVerticalDash06Dash01 => '🂎',
305            DominoTiles::DominoTileVerticalDash06Dash02 => '🂏',
306            DominoTiles::DominoTileVerticalDash06Dash03 => '🂐',
307            DominoTiles::DominoTileVerticalDash06Dash04 => '🂑',
308            DominoTiles::DominoTileVerticalDash06Dash05 => '🂒',
309            DominoTiles::DominoTileVerticalDash06Dash06 => '🂓',
310        }
311    }
312}
313
314impl std::convert::TryFrom<char> for DominoTiles {
315    type Error = ();
316    fn try_from(c: char) -> Result<Self, Self::Error> {
317        match c {
318            '🀰' => Ok(DominoTiles::DominoTileHorizontalBack),
319            '🀱' => Ok(DominoTiles::DominoTileHorizontalDash00Dash00),
320            '🀲' => Ok(DominoTiles::DominoTileHorizontalDash00Dash01),
321            '🀳' => Ok(DominoTiles::DominoTileHorizontalDash00Dash02),
322            '🀴' => Ok(DominoTiles::DominoTileHorizontalDash00Dash03),
323            '🀵' => Ok(DominoTiles::DominoTileHorizontalDash00Dash04),
324            '🀶' => Ok(DominoTiles::DominoTileHorizontalDash00Dash05),
325            '🀷' => Ok(DominoTiles::DominoTileHorizontalDash00Dash06),
326            '🀸' => Ok(DominoTiles::DominoTileHorizontalDash01Dash00),
327            '🀹' => Ok(DominoTiles::DominoTileHorizontalDash01Dash01),
328            '🀺' => Ok(DominoTiles::DominoTileHorizontalDash01Dash02),
329            '🀻' => Ok(DominoTiles::DominoTileHorizontalDash01Dash03),
330            '🀼' => Ok(DominoTiles::DominoTileHorizontalDash01Dash04),
331            '🀽' => Ok(DominoTiles::DominoTileHorizontalDash01Dash05),
332            '🀾' => Ok(DominoTiles::DominoTileHorizontalDash01Dash06),
333            '🀿' => Ok(DominoTiles::DominoTileHorizontalDash02Dash00),
334            '🁀' => Ok(DominoTiles::DominoTileHorizontalDash02Dash01),
335            '🁁' => Ok(DominoTiles::DominoTileHorizontalDash02Dash02),
336            '🁂' => Ok(DominoTiles::DominoTileHorizontalDash02Dash03),
337            '🁃' => Ok(DominoTiles::DominoTileHorizontalDash02Dash04),
338            '🁄' => Ok(DominoTiles::DominoTileHorizontalDash02Dash05),
339            '🁅' => Ok(DominoTiles::DominoTileHorizontalDash02Dash06),
340            '🁆' => Ok(DominoTiles::DominoTileHorizontalDash03Dash00),
341            '🁇' => Ok(DominoTiles::DominoTileHorizontalDash03Dash01),
342            '🁈' => Ok(DominoTiles::DominoTileHorizontalDash03Dash02),
343            '🁉' => Ok(DominoTiles::DominoTileHorizontalDash03Dash03),
344            '🁊' => Ok(DominoTiles::DominoTileHorizontalDash03Dash04),
345            '🁋' => Ok(DominoTiles::DominoTileHorizontalDash03Dash05),
346            '🁌' => Ok(DominoTiles::DominoTileHorizontalDash03Dash06),
347            '🁍' => Ok(DominoTiles::DominoTileHorizontalDash04Dash00),
348            '🁎' => Ok(DominoTiles::DominoTileHorizontalDash04Dash01),
349            '🁏' => Ok(DominoTiles::DominoTileHorizontalDash04Dash02),
350            '🁐' => Ok(DominoTiles::DominoTileHorizontalDash04Dash03),
351            '🁑' => Ok(DominoTiles::DominoTileHorizontalDash04Dash04),
352            '🁒' => Ok(DominoTiles::DominoTileHorizontalDash04Dash05),
353            '🁓' => Ok(DominoTiles::DominoTileHorizontalDash04Dash06),
354            '🁔' => Ok(DominoTiles::DominoTileHorizontalDash05Dash00),
355            '🁕' => Ok(DominoTiles::DominoTileHorizontalDash05Dash01),
356            '🁖' => Ok(DominoTiles::DominoTileHorizontalDash05Dash02),
357            '🁗' => Ok(DominoTiles::DominoTileHorizontalDash05Dash03),
358            '🁘' => Ok(DominoTiles::DominoTileHorizontalDash05Dash04),
359            '🁙' => Ok(DominoTiles::DominoTileHorizontalDash05Dash05),
360            '🁚' => Ok(DominoTiles::DominoTileHorizontalDash05Dash06),
361            '🁛' => Ok(DominoTiles::DominoTileHorizontalDash06Dash00),
362            '🁜' => Ok(DominoTiles::DominoTileHorizontalDash06Dash01),
363            '🁝' => Ok(DominoTiles::DominoTileHorizontalDash06Dash02),
364            '🁞' => Ok(DominoTiles::DominoTileHorizontalDash06Dash03),
365            '🁟' => Ok(DominoTiles::DominoTileHorizontalDash06Dash04),
366            '🁠' => Ok(DominoTiles::DominoTileHorizontalDash06Dash05),
367            '🁡' => Ok(DominoTiles::DominoTileHorizontalDash06Dash06),
368            '🁢' => Ok(DominoTiles::DominoTileVerticalBack),
369            '🁣' => Ok(DominoTiles::DominoTileVerticalDash00Dash00),
370            '🁤' => Ok(DominoTiles::DominoTileVerticalDash00Dash01),
371            '🁥' => Ok(DominoTiles::DominoTileVerticalDash00Dash02),
372            '🁦' => Ok(DominoTiles::DominoTileVerticalDash00Dash03),
373            '🁧' => Ok(DominoTiles::DominoTileVerticalDash00Dash04),
374            '🁨' => Ok(DominoTiles::DominoTileVerticalDash00Dash05),
375            '🁩' => Ok(DominoTiles::DominoTileVerticalDash00Dash06),
376            '🁪' => Ok(DominoTiles::DominoTileVerticalDash01Dash00),
377            '🁫' => Ok(DominoTiles::DominoTileVerticalDash01Dash01),
378            '🁬' => Ok(DominoTiles::DominoTileVerticalDash01Dash02),
379            '🁭' => Ok(DominoTiles::DominoTileVerticalDash01Dash03),
380            '🁮' => Ok(DominoTiles::DominoTileVerticalDash01Dash04),
381            '🁯' => Ok(DominoTiles::DominoTileVerticalDash01Dash05),
382            '🁰' => Ok(DominoTiles::DominoTileVerticalDash01Dash06),
383            '🁱' => Ok(DominoTiles::DominoTileVerticalDash02Dash00),
384            '🁲' => Ok(DominoTiles::DominoTileVerticalDash02Dash01),
385            '🁳' => Ok(DominoTiles::DominoTileVerticalDash02Dash02),
386            '🁴' => Ok(DominoTiles::DominoTileVerticalDash02Dash03),
387            '🁵' => Ok(DominoTiles::DominoTileVerticalDash02Dash04),
388            '🁶' => Ok(DominoTiles::DominoTileVerticalDash02Dash05),
389            '🁷' => Ok(DominoTiles::DominoTileVerticalDash02Dash06),
390            '🁸' => Ok(DominoTiles::DominoTileVerticalDash03Dash00),
391            '🁹' => Ok(DominoTiles::DominoTileVerticalDash03Dash01),
392            '🁺' => Ok(DominoTiles::DominoTileVerticalDash03Dash02),
393            '🁻' => Ok(DominoTiles::DominoTileVerticalDash03Dash03),
394            '🁼' => Ok(DominoTiles::DominoTileVerticalDash03Dash04),
395            '🁽' => Ok(DominoTiles::DominoTileVerticalDash03Dash05),
396            '🁾' => Ok(DominoTiles::DominoTileVerticalDash03Dash06),
397            '🁿' => Ok(DominoTiles::DominoTileVerticalDash04Dash00),
398            '🂀' => Ok(DominoTiles::DominoTileVerticalDash04Dash01),
399            '🂁' => Ok(DominoTiles::DominoTileVerticalDash04Dash02),
400            '🂂' => Ok(DominoTiles::DominoTileVerticalDash04Dash03),
401            '🂃' => Ok(DominoTiles::DominoTileVerticalDash04Dash04),
402            '🂄' => Ok(DominoTiles::DominoTileVerticalDash04Dash05),
403            '🂅' => Ok(DominoTiles::DominoTileVerticalDash04Dash06),
404            '🂆' => Ok(DominoTiles::DominoTileVerticalDash05Dash00),
405            '🂇' => Ok(DominoTiles::DominoTileVerticalDash05Dash01),
406            '🂈' => Ok(DominoTiles::DominoTileVerticalDash05Dash02),
407            '🂉' => Ok(DominoTiles::DominoTileVerticalDash05Dash03),
408            '🂊' => Ok(DominoTiles::DominoTileVerticalDash05Dash04),
409            '🂋' => Ok(DominoTiles::DominoTileVerticalDash05Dash05),
410            '🂌' => Ok(DominoTiles::DominoTileVerticalDash05Dash06),
411            '🂍' => Ok(DominoTiles::DominoTileVerticalDash06Dash00),
412            '🂎' => Ok(DominoTiles::DominoTileVerticalDash06Dash01),
413            '🂏' => Ok(DominoTiles::DominoTileVerticalDash06Dash02),
414            '🂐' => Ok(DominoTiles::DominoTileVerticalDash06Dash03),
415            '🂑' => Ok(DominoTiles::DominoTileVerticalDash06Dash04),
416            '🂒' => Ok(DominoTiles::DominoTileVerticalDash06Dash05),
417            '🂓' => Ok(DominoTiles::DominoTileVerticalDash06Dash06),
418            _ => Err(()),
419        }
420    }
421}
422
423impl Into<u32> for DominoTiles {
424    fn into(self) -> u32 {
425        let c: char = self.into();
426        let hex = c
427            .escape_unicode()
428            .to_string()
429            .replace("\\u{", "")
430            .replace("}", "");
431        u32::from_str_radix(&hex, 16).unwrap()
432    }
433}
434
435impl std::convert::TryFrom<u32> for DominoTiles {
436    type Error = ();
437    fn try_from(u: u32) -> Result<Self, Self::Error> {
438        if let Ok(c) = char::try_from(u) {
439            Self::try_from(c)
440        } else {
441            Err(())
442        }
443    }
444}
445
446impl Iterator for DominoTiles {
447    type Item = Self;
448    fn next(&mut self) -> Option<Self> {
449        let index: u32 = (*self).into();
450        use std::convert::TryFrom;
451        Self::try_from(index + 1).ok()
452    }
453}
454
455impl DominoTiles {
456    /// The character with the lowest index in this unicode block
457    pub fn new() -> Self {
458        DominoTiles::DominoTileHorizontalBack
459    }
460
461    /// The character's name, in sentence case
462    pub fn name(&self) -> String {
463        let s = std::format!("DominoTiles{:#?}", self);
464        string_morph::to_sentence_case(&s)
465    }
466}