21 mike 1.2 // THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN
22 // ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED
23 // "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
24 // LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
25 // PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
26 // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
27 // ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
28 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
29 //
30 //==============================================================================
31 //
32 // Author: Mike Brasher, Inova Europe (mike-brasher@austin.rr.com)
33 //
34 //%/////////////////////////////////////////////////////////////////////////////
35
36 #include <cctype>
37 #include <cstring>
38 #include "CharSet.h"
39
40 PEGASUS_NAMESPACE_BEGIN
41
42 mike 1.2 //
43 // Note: EBCDIC not supported but not needed by any known platform (z/OS Linux
44 // uses ASCII). This will flag any future use to employ EBCDIC.
45 //
46
47 #ifdef PEGASUS_HAVE_EBCDIC
48 # error "EBCDIC unsupported"
49 #endif
50
51 const Uint8 CharSet::_isAlphaUnder[256] =
52 {
53 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
54 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
55 0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,
56 0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,
57 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
58 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
59 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
60 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
61 };
62
63 mike 1.2 const Uint8 CharSet::_isAlNumUnder[256] =
64 {
65 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
66 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,
67 0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,
68 0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,
69 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
70 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
71 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
72 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
73 };
74
75 const Uint8 CharSet::_isSpace[256] =
76 {
77 0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
78 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
79 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
80 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
81 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
82 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
83 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
84 mike 1.2 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
85 };
86
|
87 kumpf 1.3 const Uint8 CharSet::_isXmlWhiteSpace[256] =
88 {
89 0,0,0,0,0,0,0,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
90 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
91 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
92 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
93 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
94 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
95 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
96 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
97 };
98
|
99 mike 1.2 const Uint8 CharSet::_toUpper[256] =
100 {
101 0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,
102 0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F,
103 0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,
104 0x18,0x19,0x1A,0x1B,0x1C,0x1D,0x1E,0x1F,
105 0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,
106 0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,
107 0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,
108 0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,
109 0x40,0x41,0x42,0x43,0x44,0x45,0x46,0x47,
110 0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,
111 0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,
112 0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,
113 0x60,0x41,0x42,0x43,0x44,0x45,0x46,0x47,
114 0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,
115 0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,
116 0x58,0x59,0x5A,0x7B,0x7C,0x7D,0x7E,0x7F,
117 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,
118 0x88,0x89,0x8A,0x8B,0x8C,0x8D,0x8E,0x8F,
119 0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97,
120 mike 1.2 0x98,0x99,0x9A,0x9B,0x9C,0x9D,0x9E,0x9F,
121 0xA0,0xA1,0xA2,0xA3,0xA4,0xA5,0xA6,0xA7,
122 0xA8,0xA9,0xAA,0xAB,0xAC,0xAD,0xAE,0xAF,
123 0xB0,0xB1,0xB2,0xB3,0xB4,0xB5,0xB6,0xB7,
124 0xB8,0xB9,0xBA,0xBB,0xBC,0xBD,0xBE,0xBF,
125 0xC0,0xC1,0xC2,0xC3,0xC4,0xC5,0xC6,0xC7,
126 0xC8,0xC9,0xCA,0xCB,0xCC,0xCD,0xCE,0xCF,
127 0xD0,0xD1,0xD2,0xD3,0xD4,0xD5,0xD6,0xD7,
128 0xD8,0xD9,0xDA,0xDB,0xDC,0xDD,0xDE,0xDF,
129 0xE0,0xE1,0xE2,0xE3,0xE4,0xE5,0xE6,0xE7,
130 0xE8,0xE9,0xEA,0xEB,0xEC,0xED,0xEE,0xEF,
131 0xF0,0xF1,0xF2,0xF3,0xF4,0xF5,0xF6,0xF7,
132 0xF8,0xF9,0xFA,0xFB,0xFC,0xFD,0xFE,0xFF,
133 };
134
135 const Uint8 CharSet::_toLower[256] =
136 {
137 0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,
138 0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F,
139 0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,
140 0x18,0x19,0x1A,0x1B,0x1C,0x1D,0x1E,0x1F,
141 mike 1.2 0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,
142 0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,
143 0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,
144 0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,
145 0x40,0x61,0x62,0x63,0x64,0x65,0x66,0x67,
146 0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,
147 0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,
148 0x78,0x79,0x7A,0x5B,0x5C,0x5D,0x5E,0x5F,
149 0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67,
150 0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,
151 0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,
152 0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x7F,
153 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,
154 0x88,0x89,0x8A,0x8B,0x8C,0x8D,0x8E,0x8F,
155 0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97,
156 0x98,0x99,0x9A,0x9B,0x9C,0x9D,0x9E,0x9F,
157 0xA0,0xA1,0xA2,0xA3,0xA4,0xA5,0xA6,0xA7,
158 0xA8,0xA9,0xAA,0xAB,0xAC,0xAD,0xAE,0xAF,
159 0xB0,0xB1,0xB2,0xB3,0xB4,0xB5,0xB6,0xB7,
160 0xB8,0xB9,0xBA,0xBB,0xBC,0xBD,0xBE,0xBF,
161 0xC0,0xC1,0xC2,0xC3,0xC4,0xC5,0xC6,0xC7,
162 mike 1.2 0xC8,0xC9,0xCA,0xCB,0xCC,0xCD,0xCE,0xCF,
163 0xD0,0xD1,0xD2,0xD3,0xD4,0xD5,0xD6,0xD7,
164 0xD8,0xD9,0xDA,0xDB,0xDC,0xDD,0xDE,0xDF,
165 0xE0,0xE1,0xE2,0xE3,0xE4,0xE5,0xE6,0xE7,
166 0xE8,0xE9,0xEA,0xEB,0xEC,0xED,0xEE,0xEF,
167 0xF0,0xF1,0xF2,0xF3,0xF4,0xF5,0xF6,0xF7,
168 0xF8,0xF9,0xFA,0xFB,0xFC,0xFD,0xFE,0xFF,
169 };
170
171 const Uint8 CharSet::_isNotSpaceNorTerm[] =
172 {
173 0,1,1,1,1,1,1,1,1,0,0,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
174 0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
175 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
176 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
177 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
178 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
179 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
180 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
181 };
182
183 mike 1.2 PEGASUS_NAMESPACE_END
|