1 // =================================
 2 // Copyright (c) 2021 Seppo Laakko
 3 // Distributed under the MIT license
 4 // =================================
 5 
 6 using System.Ascii;
 7 
 8 namespace System
 9 {
10     public inline nothrow bool IsLower(char c)
11     {
12         return (CharClassTable.Instance().GetCharacterClass(c) & CharClass.lower) != 0;
13     }
14 
15     public inline nothrow bool IsUpper(char c)
16     {
17         return (CharClassTable.Instance().GetCharacterClass(c) & CharClass.upper) != 0;
18     }
19 
20     public inline nothrow bool IsAlpha(char c)
21     {
22         return (CharClassTable.Instance().GetCharacterClass(c) & CharClass.alpha) != 0;
23     }
24 
25     public inline nothrow bool IsDigit(char c)
26     {
27         return (CharClassTable.Instance().GetCharacterClass(c) & CharClass.digit) != 0;
28     }
29 
30     public inline nothrow bool IsAlphanumeric(char c)
31     {
32         return (CharClassTable.Instance().GetCharacterClass(c) & CharClass.alnum) != 0;
33     }
34 
35     public inline nothrow bool IsHexDigit(char c)
36     {
37         return (CharClassTable.Instance().GetCharacterClass(c) & CharClass.xdigit) != 0;
38     }
39 
40     public inline nothrow bool IsControl(char c)
41     {
42         return (CharClassTable.Instance().GetCharacterClass(c) & CharClass.cntrl) != 0;
43     }
44 
45     public inline nothrow bool IsGraphic(char c)
46     {
47         return (CharClassTable.Instance().GetCharacterClass(c) & CharClass.graph) != 0;
48     }
49 
50     public inline nothrow bool IsPrintable(char c)
51     {
52         return (CharClassTable.Instance().GetCharacterClass(c) & CharClass.print) != 0;
53     }
54 
55     public inline nothrow bool IsPunctuation(char c)
56     {
57         return (CharClassTable.Instance().GetCharacterClass(c) & CharClass.punct) != 0;
58     }
59 
60     public inline nothrow bool IsSpace(char c)
61     {
62         return (CharClassTable.Instance().GetCharacterClass(c) & CharClass.space) != 0;
63     }
64 
65     public nothrow char AsciiToUpper(char c)
66     {
67         return RtAsciiToUpper(c);
68     }
69 
70     public nothrow char AsciiToLower(char c)
71     {
72         return RtAsciiToLower(c);
73     }
74 }