1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
// Copyright (C) Parity Technologies (UK) Ltd. and Dijital Kurdistan Tech Institute
// This file is part of Pezkuwi.
// Pezkuwi is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
// Pezkuwi is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License
// along with Pezkuwi. If not, see <http://www.gnu.org/licenses/>.
//! The `SlotRange` struct which succinctly handles the 36 values that
//! represent all sub ranges between 0 and 7 inclusive.
generate_slot_range!;
// Will generate:
// pub enum SlotRange {
// ZeroZero, 0
// ZeroOne, 1
// ZeroTwo, 2
// ZeroThree, 3
// ZeroFour, 4
// ZeroFive, 5
// ZeroSix, 6
// ZeroSeven, 7
// OneOne, 8
// OneTwo, 9
// OneThree, 10
// OneFour, 11
// OneFive, 12
// OneSix, 13
// OneSeven, 14
// TwoTwo, 15
// TwoThree, 16
// TwoFour, 17
// TwoFive, 18
// TwoSix, 19
// TwoSeven, 20
// ThreeThree, 21
// ThreeFour, 22
// ThreeFive, 23
// ThreeSix, 24
// ThreeSeven, 25
// FourFour, 26
// FourFive, 27
// FourSix, 28
// FourSeven, 29
// FiveFive, 30
// FiveSix, 31
// FiveSeven, 32
// SixSix, 33
// SixSeven, 34
// SevenSeven, 35
// }