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 }