1 /// Partial alternative to std.uni 2 module sily.uni; 3 4 import std.traits: isSomeChar; 5 6 /** 7 Checks if `c` is letter 8 Params: 9 c = char 10 Returns: isAlpha 11 */ 12 bool isAlpha(T)(T c) if (isSomeChar!T) { 13 return (c >= 'a' && c <= 'z') || 14 (c >= 'A' && c <= 'Z'); 15 } 16 17 /** 18 Checks if `c` is letter or digit 19 Params: 20 c = char 21 Returns: isAlphaNumeric 22 */ 23 bool isAlphaNumeric(T)(T c) if (isSomeChar!T) { 24 return isAlpha(c) || isDigit(c); 25 } 26 27 /** 28 Checks if `c` is digit 29 Params: 30 c = char 31 Returns: isDigit 32 */ 33 bool isDigit(T)(T c) if (isSomeChar!T) { 34 return c >= '0' && c <= '9'; 35 } 36 37 /** 38 Checks if `c` is hexadecimal (all digits & letters from A to F) 39 Params: 40 c = char 41 Returns: isHex 42 */ 43 bool isHex(T)(T c) if (isSomeChar!T) { 44 return (c >= '0' && c <= '9') || 45 (c >= 'a' && c <= 'f') || 46 (c >= 'A' && c <= 'F'); 47 } 48 49 /** 50 Checks if `c` is octal number (0 <= c <= 7) 51 Params: 52 c = char 53 Returns: isOct 54 */ 55 bool isOct(T)(T c) if (isSomeChar!T) { 56 return (c >= '0' && c <= '7'); 57 } 58