1 /// Partial alternative to std.uni
2 module sily.uni;
3 
4 /** 
5 Checks if `c` is letter or `_`
6 Params:
7   c = char
8 Returns: isAlpha
9 */
10 bool isAlpha(char c) {
11     return  (c >= 'a' && c <= 'z') ||
12             (c >= 'A' && c <= 'Z') ||
13             (c == '_');
14 }
15 /// Ditto
16 bool isAlpha(wchar c) {
17     return  (c >= 'a' && c <= 'z') ||
18             (c >= 'A' && c <= 'Z') ||
19             (c == '_');
20 }
21 /// Ditto
22 bool isAlpha(dchar c) {
23     return  (c >= 'a' && c <= 'z') ||
24             (c >= 'A' && c <= 'Z') ||
25             (c == '_');
26 }
27 
28 /** 
29 Checks if `c` is letter, `_` or digit
30 Params:
31   c = char
32 Returns: isAlphaNumeric
33  */
34 bool isAlphaNumeric(char c) {
35     return isAlpha(c) || isDigit(c);
36 }
37 /// Ditto
38 bool isAlphaNumeric(wchar c) {
39     return isAlpha(c) || isDigit(c);
40 }
41 /// Ditto
42 bool isAlphaNumeric(dchar c) {
43     return isAlpha(c) || isDigit(c);
44 }
45 
46 /** 
47 Checks if `c` is digit
48 Params:
49   c = char
50 Returns: isDigit
51  */
52 bool isDigit(char c) {
53     return c >= '0' && c <= '9';
54 }
55 /// Ditto
56 bool isDigit(wchar c) {
57     return c >= '0' && c <= '9';
58 }
59 /// Ditto
60 bool isDigit(dchar c) {
61     return c >= '0' && c <= '9';
62 }
63 
64 /** 
65 Checks if `c` is hexadecimal (all digits & letters from A to F)
66 Params:
67   c = char
68 Returns: isHex
69  */
70 bool isHex(char c) {
71     return (c >= '0' && c <= '9') || 
72            (c >= 'a' && c <= 'f') || 
73            (c >= 'A' && c <= 'F');
74 }
75 /// Ditto
76 bool isHex(wchar c) {
77     return (c >= '0' && c <= '9') || 
78            (c >= 'a' && c <= 'f') || 
79            (c >= 'A' && c <= 'F');
80 }
81 /// Ditto
82 bool isHex(dchar c) {
83     return (c >= '0' && c <= '9') || 
84            (c >= 'a' && c <= 'f') || 
85            (c >= 'A' && c <= 'F');
86 }
87 
88 /** 
89 Checks if `c` is octal number (0 <= c <= 7)
90 Params:
91   c = char
92 Returns: isOct
93  */
94 bool isOct(char c) {
95     return (c >= '0' && c <= '7');
96 }
97 /// Ditto
98 bool isOct(wchar c) {
99     return (c >= '0' && c <= '7');
100 }
101 /// Ditto
102 bool isOct(dchar c) {
103     return (c >= '0' && c <= '7');
104 }