UChar.h++
Go to the documentation of this file.00001 #ifndef __ccxx_UChar_hxx
00002 #define __ccxx_UChar_hxx
00003
00004 #include <commonc++/Common.h++>
00005
00006 namespace ccxx {
00007
00013 class COMMONCPP_API UChar
00014 {
00015 public:
00016
00018 UChar();
00019
00021 explicit UChar(char c);
00022
00024 explicit UChar(char16_t c);
00025
00028 UChar(int c);
00029
00031 ~UChar();
00032
00034 UChar& operator=(char c) throw();
00035
00037 UChar& operator=(char16_t c) throw();
00038
00040 UChar& operator=(int c) throw();
00041
00043 bool isNul() const throw();
00044
00046 bool isLetter() const throw();
00047
00049 bool isDigit() const throw();
00050
00052 bool isSign() const throw();
00053
00055 bool isWhitespace() const throw();
00056
00058 bool isLowerCase() const throw();
00059
00061 bool isUpperCase() const throw();
00062
00064 UChar toLowerCase() const throw();
00065
00067 UChar toUpperCase() const throw();
00068
00070 bool isLowSurrogate() const throw();
00071
00073 bool isHighSurrogate() const throw();
00074
00076 inline operator char16_t() const throw()
00077 { return(_char); }
00078
00080 inline bool operator!() const throw()
00081 { return(isNul()); }
00082
00084 static const UChar nul;
00085
00087 static bool isNul(char16_t c) throw();
00088
00090 static bool isLetter(char16_t c) throw();
00091
00093 static bool isDigit(char16_t c) throw();
00094
00096 static bool isSign(char16_t c) throw();
00097
00099 static bool isWhitespace(char16_t c) throw();
00100
00102 static bool isLowerCase(char16_t c) throw();
00103
00105 static bool isUpperCase(char16_t c) throw();
00106
00108 static char16_t toLowerCase(char16_t c) throw();
00109
00111 static char16_t toUpperCase(char16_t c) throw();
00112
00114 static bool isLowSurrogate(char16_t c) throw();
00115
00117 static bool isHighSurrogate(char16_t c) throw();
00118
00122 static char toASCII(char16_t c) throw();
00123
00124 private:
00125
00126 char16_t _char;
00127 };
00128
00129 }
00130
00131 #endif // __ccxx_UChar_hxx