OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
ossimHexString.cpp
Go to the documentation of this file.
1 //*******************************************************************
2 //
3 // License: See top level LICENSE.txt file.
4 //
5 // Author: Garrett Potts (gpotts@imagelinks.com)
6 //
7 //********************************************************************
8 // $Id: ossimHexString.cpp 9963 2006-11-28 21:11:01Z gpotts $
10 
12 {
13  return static_cast<ossim_int32>(toUint32());
14 }
15 
17 {
18  return static_cast<ossim_int16>(toUint32());
19 }
20 
22 {
23  return static_cast<ossim_int8>(toUint32());
24 }
25 
27 {
28  return static_cast<ossim_uint8>(toUint32());
29 }
30 
32 {
33  return static_cast<ossim_uint16>(toUint32());
34 }
35 
37 {
38  ossim_uint32 temp=0;
39 
40  if(length())
41  {
42  ossim_uint32 i = 0;
43 
44  if(((*this)[0] == '0')&&
45  (((*this)[1] == 'x')||
46  ((*this)[1] == 'X')))
47  {
48  i = 2;
49  }
50 
51  for(; i <length(); ++i)
52  {
53  temp <<=4;
54  if( ((*this)[(int)i] >= '0')&&((*this)[(int)i] <= '9'))
55  {
56  temp |= (ossim_uint32)((*this)[(int)i] - '0');
57  }
58  else if( ((*this)[(int)i] >= 'A') && ((*this)[(int)i] <= 'F'))
59  {
60  temp |= (ossim_uint32)(10+((*this)[(int)i] - 'A'));
61  }
62  else if( ((*this)[(int)i] <= 'f') && ((*this)[(int)i] >= 'a'))
63  {
64  temp |= (ossim_uint32)(10 + ((*this)[(int)i] - 'a'));
65  }
66  }
67  }
68 
69  return temp;
70 }
71 
73 {
74  *this = "";
75 
76  ossim_int8 v1 = (ossim_int8)(value&0x0F);
77  ossim_int8 v2 = (ossim_int8)((value>>4)&0x0F);
78  if(v2 <=9)
79  {
80  (*this) += (ossim_int8)(v2+'0');
81  }
82  else
83  {
84  (*this) += (ossim_int8)(v2-10 +'A');
85  }
86 
87  if(v1 <=9)
88  {
89  (*this) += (ossim_int8)(v1+'0');
90  }
91  else
92  {
93  (*this) += (ossim_int8)(v1-10 +'A');
94  }
95 }
96 
98 {
99  *this = "";
100 
101  ossim_int8 v1 = (ossim_int8)(value&0x000F);
102  value >>=4;
103  ossim_int8 v2 = (ossim_int8)((value)&0x000F);
104  value >>=4;
105  ossim_int8 v3 = (ossim_int8)((value)&0x000F);
106  value >>=4;
107  ossim_int8 v4 = (ossim_int8)((value)&0x000F);
108 
109  if(v4 <=9)
110  {
111  (*this) += (ossim_int8)(v4+'0');
112  }
113  else
114  {
115  (*this) += (ossim_int8)(v4-10 +'A');
116  }
117 
118  if(v3 <=9)
119  {
120  (*this) += (ossim_int8)(v3+'0');
121  }
122  else
123  {
124  (*this) += (ossim_int8)(v3-10 +'A');
125  }
126 
127  if(v2 <=9)
128  {
129  (*this) += (ossim_int8)(v2+'0');
130  }
131  else
132  {
133  (*this) += (ossim_int8)(v2-10 +'A');
134  }
135 
136  if(v1 <=9)
137  {
138  (*this) += (ossim_int8)(v1+'0');
139  }
140  else
141  {
142  (*this) += (ossim_int8)(v1-10 +'A');
143  }
144 }
145 
147 {
148  *this = "";
149 
150  ossim_int8 v1 = (ossim_int8)(value&0x0000000F);
151  value >>=4;
152  ossim_int8 v2 = (ossim_int8)((value)&0x0000000F);
153  value >>=4;
154  ossim_int8 v3 = (ossim_int8)((value)&0x0000000F);
155  value >>=4;
156  ossim_int8 v4 = (ossim_int8)((value)&0x0000000F);
157  value >>=4;
158  ossim_int8 v5 = (ossim_int8)((value)&0x0000000F);
159  value >>=4;
160  ossim_int8 v6 = (ossim_int8)((value)&0x0000000F);
161  value >>=4;
162  ossim_int8 v7 = (ossim_int8)((value)&0x0000000F);
163  value >>=4;
164  ossim_int8 v8 = (ossim_int8)((value)&0x0000000F);
165 
166  if(v8 <=9)
167  {
168  (*this) += (ossim_int8)(v8+'0');
169  }
170  else
171  {
172  (*this) += (ossim_int8)(v8-10 +'A');
173  }
174  if(v7 <=9)
175  {
176  (*this) += (ossim_int8)(v7+'0');
177  }
178  else
179  {
180  (*this) += (ossim_int8)(v7-10 +'A');
181  }
182  if(v6 <=9)
183  {
184  (*this) += (ossim_int8)(v6+'0');
185  }
186  else
187  {
188  (*this) += (ossim_int8)(v6-10 +'A');
189  }
190  if(v5 <=9)
191  {
192  (*this) += (ossim_int8)(v5+'0');
193  }
194  else
195  {
196  (*this) += (ossim_int8)(v5-10 +'A');
197  }
198 
199  if(v4 <=9)
200  {
201  (*this) += (ossim_int8)(v4+'0');
202  }
203  else
204  {
205  (*this) += (ossim_int8)(v4-10 +'A');
206  }
207 
208  if(v3 <=9)
209  {
210  (*this) += (ossim_int8)(v3+'0');
211  }
212  else
213  {
214  (*this) += (ossim_int8)(v3-10 +'A');
215  }
216 
217  if(v2 <=9)
218  {
219  (*this) += (ossim_int8)(v2+'0');
220  }
221  else
222  {
223  (*this) += (ossim_int8)(v2-10 +'A');
224  }
225 
226  if(v1 <=9)
227  {
228  (*this) += (ossim_int8)(v1+'0');
229  }
230  else
231  {
232  (*this) += (ossim_int8)(v1-10 +'A');
233  }
234 }
ossim_int8 toChar() const
void assign(ossim_int16 value)
char ossim_int8
Previous DLL import export section.
unsigned short ossim_uint16
ossim_uint8 toUchar() const
std::string::size_type length() const
Definition: ossimString.h:408
unsigned int ossim_uint32
ossim_int32 toInt32() const
ossim_uint16 toUint16() const
short ossim_int16
ossim_int16 toInt16() const
ossim_uint32 toUint32() const
unsigned char ossim_uint8
int ossim_int32