📄 cpl__port_8h-source.html
字号:
<a name="l00334"></a>00334 <span class="preprocessor">#define CPL_SWAP16PTR(x) \</span><a name="l00335"></a>00335 <span class="preprocessor">{ \</span><a name="l00336"></a>00336 <span class="preprocessor"> GByte byTemp, *_pabyDataT = (GByte *) (x); \</span><a name="l00337"></a>00337 <span class="preprocessor"> \</span><a name="l00338"></a>00338 <span class="preprocessor"> byTemp = _pabyDataT[0]; \</span><a name="l00339"></a>00339 <span class="preprocessor"> _pabyDataT[0] = _pabyDataT[1]; \</span><a name="l00340"></a>00340 <span class="preprocessor"> _pabyDataT[1] = byTemp; \</span><a name="l00341"></a>00341 <span class="preprocessor">} </span><a name="l00342"></a>00342 <span class="preprocessor"></span> <a name="l00343"></a>00343 <span class="preprocessor">#define CPL_SWAP32(x) \</span><a name="l00344"></a>00344 <span class="preprocessor"> ((GUInt32)( \</span><a name="l00345"></a>00345 <span class="preprocessor"> (((GUInt32)(x) & (GUInt32)0x000000ffUL) << 24) | \</span><a name="l00346"></a>00346 <span class="preprocessor"> (((GUInt32)(x) & (GUInt32)0x0000ff00UL) << 8) | \</span><a name="l00347"></a>00347 <span class="preprocessor"> (((GUInt32)(x) & (GUInt32)0x00ff0000UL) >> 8) | \</span><a name="l00348"></a>00348 <span class="preprocessor"> (((GUInt32)(x) & (GUInt32)0xff000000UL) >> 24) ))</span><a name="l00349"></a>00349 <span class="preprocessor"></span><a name="l00350"></a>00350 <span class="preprocessor">#define CPL_SWAP32PTR(x) \</span><a name="l00351"></a>00351 <span class="preprocessor">{ \</span><a name="l00352"></a>00352 <span class="preprocessor"> GByte byTemp, *_pabyDataT = (GByte *) (x); \</span><a name="l00353"></a>00353 <span class="preprocessor"> \</span><a name="l00354"></a>00354 <span class="preprocessor"> byTemp = _pabyDataT[0]; \</span><a name="l00355"></a>00355 <span class="preprocessor"> _pabyDataT[0] = _pabyDataT[3]; \</span><a name="l00356"></a>00356 <span class="preprocessor"> _pabyDataT[3] = byTemp; \</span><a name="l00357"></a>00357 <span class="preprocessor"> byTemp = _pabyDataT[1]; \</span><a name="l00358"></a>00358 <span class="preprocessor"> _pabyDataT[1] = _pabyDataT[2]; \</span><a name="l00359"></a>00359 <span class="preprocessor"> _pabyDataT[2] = byTemp; \</span><a name="l00360"></a>00360 <span class="preprocessor">} </span><a name="l00361"></a>00361 <span class="preprocessor"></span> <a name="l00362"></a>00362 <span class="preprocessor">#define CPL_SWAP64PTR(x) \</span><a name="l00363"></a>00363 <span class="preprocessor">{ \</span><a name="l00364"></a>00364 <span class="preprocessor"> GByte byTemp, *_pabyDataT = (GByte *) (x); \</span><a name="l00365"></a>00365 <span class="preprocessor"> \</span><a name="l00366"></a>00366 <span class="preprocessor"> byTemp = _pabyDataT[0]; \</span><a name="l00367"></a>00367 <span class="preprocessor"> _pabyDataT[0] = _pabyDataT[7]; \</span><a name="l00368"></a>00368 <span class="preprocessor"> _pabyDataT[7] = byTemp; \</span><a name="l00369"></a>00369 <span class="preprocessor"> byTemp = _pabyDataT[1]; \</span><a name="l00370"></a>00370 <span class="preprocessor"> _pabyDataT[1] = _pabyDataT[6]; \</span><a name="l00371"></a>00371 <span class="preprocessor"> _pabyDataT[6] = byTemp; \</span><a name="l00372"></a>00372 <span class="preprocessor"> byTemp = _pabyDataT[2]; \</span><a name="l00373"></a>00373 <span class="preprocessor"> _pabyDataT[2] = _pabyDataT[5]; \</span><a name="l00374"></a>00374 <span class="preprocessor"> _pabyDataT[5] = byTemp; \</span><a name="l00375"></a>00375 <span class="preprocessor"> byTemp = _pabyDataT[3]; \</span><a name="l00376"></a>00376 <span class="preprocessor"> _pabyDataT[3] = _pabyDataT[4]; \</span><a name="l00377"></a>00377 <span class="preprocessor"> _pabyDataT[4] = byTemp; \</span><a name="l00378"></a>00378 <span class="preprocessor">} </span><a name="l00379"></a>00379 <span class="preprocessor"></span> <a name="l00380"></a>00380 <a name="l00381"></a>00381 <span class="comment">/* Until we have a safe 64 bits integer data type defined, we'll replace</span><a name="l00382"></a>00382 <span class="comment">m * this version of the CPL_SWAP64() macro with a less efficient one.</span><a name="l00383"></a>00383 <span class="comment"> */</span><a name="l00384"></a>00384 <span class="comment">/*</span><a name="l00385"></a>00385 <span class="comment">#define CPL_SWAP64(x) \</span><a name="l00386"></a>00386 <span class="comment"> ((uint64)( \</span><a name="l00387"></a>00387 <span class="comment"> (uint64)(((uint64)(x) & (uint64)0x00000000000000ffULL) << 56) | \</span><a name="l00388"></a>00388 <span class="comment"> (uint64)(((uint64)(x) & (uint64)0x000000000000ff00ULL) << 40) | \</span><a name="l00389"></a>00389 <span class="comment"> (uint64)(((uint64)(x) & (uint64)0x0000000000ff0000ULL) << 24) | \</span><a name="l00390"></a>00390 <span class="comment"> (uint64)(((uint64)(x) & (uint64)0x00000000ff000000ULL) << 8) | \</span><a name="l00391"></a>00391 <span class="comment"> (uint64)(((uint64)(x) & (uint64)0x000000ff00000000ULL) >> 8) | \</span><a name="l00392"></a>00392 <span class="comment"> (uint64)(((uint64)(x) & (uint64)0x0000ff0000000000ULL) >> 24) | \</span><a name="l00393"></a>00393 <span class="comment"> (uint64)(((uint64)(x) & (uint64)0x00ff000000000000ULL) >> 40) | \</span><a name="l00394"></a>00394 <span class="comment"> (uint64)(((uint64)(x) & (uint64)0xff00000000000000ULL) >> 56) ))</span><a name="l00395"></a>00395 <span class="comment">*/</span><a name="l00396"></a>00396 <a name="l00397"></a>00397 <span class="preprocessor">#define CPL_SWAPDOUBLE(p) CPL_SWAP64PTR(p)</span><a name="l00398"></a>00398 <span class="preprocessor"></span><a name="l00399"></a>00399 <span class="preprocessor">#ifdef CPL_MSB</span><a name="l00400"></a>00400 <span class="preprocessor"></span><span class="preprocessor"># define CPL_MSBWORD16(x) (x)</span><a name="l00401"></a>00401 <span class="preprocessor"></span><span class="preprocessor"># define CPL_LSBWORD16(x) CPL_SWAP16(x)</span><a name="l00402"></a>00402 <span class="preprocessor"></span><span class="preprocessor"># define CPL_MSBWORD32(x) (x)</span><a name="l00403"></a>00403 <span class="preprocessor"></span><span class="preprocessor"># define CPL_LSBWORD32(x) CPL_SWAP32(x)</span><a name="l00404"></a>00404 <span class="preprocessor"></span><span class="preprocessor"># define CPL_MSBPTR16(x) </span><a name="l00405"></a>00405 <span class="preprocessor"></span><span class="preprocessor"># define CPL_LSBPTR16(x) CPL_SWAP16PTR(x)</span><a name="l00406"></a>00406 <span class="preprocessor"></span><span class="preprocessor"># define CPL_MSBPTR32(x) </span><a name="l00407"></a>00407 <span class="preprocessor"></span><span class="preprocessor"># define CPL_LSBPTR32(x) CPL_SWAP32PTR(x)</span><a name="l00408"></a>00408 <span class="preprocessor"></span><span class="preprocessor"># define CPL_MSBPTR64(x) </span><a name="l00409"></a>00409 <span class="preprocessor"></span><span class="preprocessor"># define CPL_LSBPTR64(x) CPL_SWAP64PTR(x)</span><a name="l00410"></a>00410 <span class="preprocessor"></span><span class="preprocessor">#else</span><a name="l00411"></a>00411 <span class="preprocessor"></span><span class="preprocessor"># define CPL_LSBWORD16(x) (x)</span><a name="l00412"></a>00412 <span class="preprocessor"></span><span class="preprocessor"># define CPL_MSBWORD16(x) CPL_SWAP16(x)</span><a name="l00413"></a>00413 <span class="preprocessor"></span><span class="preprocessor"># define CPL_LSBWORD32(x) (x)</span><a name="l00414"></a>00414 <span class="preprocessor"></span><span class="preprocessor"># define CPL_MSBWORD32(x) CPL_SWAP32(x)</span><a name="l00415"></a>00415 <span class="preprocessor"></span><span class="preprocessor"># define CPL_LSBPTR16(x) </span><a name="l00416"></a>00416 <span class="preprocessor"></span><span class="preprocessor"># define CPL_MSBPTR16(x) CPL_SWAP16PTR(x)</span><a name="l00417"></a>00417 <span class="preprocessor"></span><span class="preprocessor"># define CPL_LSBPTR32(x) </span><a name="l00418"></a>00418 <span class="preprocessor"></span><span class="preprocessor"># define CPL_MSBPTR32(x) CPL_SWAP32PTR(x)</span><a name="l00419"></a>00419 <span class="preprocessor"></span><span class="preprocessor"># define CPL_LSBPTR64(x) </span><a name="l00420"></a>00420 <span class="preprocessor"></span><span class="preprocessor"># define CPL_MSBPTR64(x) CPL_SWAP64PTR(x)</span><a name="l00421"></a>00421 <span class="preprocessor"></span><span class="preprocessor">#endif</span><a name="l00422"></a>00422 <span class="preprocessor"></span><a name="l00423"></a>00423 <span class="comment">/***********************************************************************</span><a name="l00424"></a>00424 <span class="comment"> * Define CPL_CVSID() macro. It can be disabled during a build by</span><a name="l00425"></a>00425 <span class="comment"> * defining DISABLE_CPLID in the compiler options.</span><a name="l00426"></a>00426 <span class="comment"> *</span><a name="l00427"></a>00427 <span class="comment"> * The cvsid_aw() function is just there to prevent reports of cpl_cvsid()</span><a name="l00428"></a>00428 <span class="comment"> * being unused.</span><a name="l00429"></a>00429 <span class="comment"> */</span><a name="l00430"></a>00430 <a name="l00431"></a>00431 <span class="preprocessor">#ifndef DISABLE_CVSID</span><a name="l00432"></a>00432 <span class="preprocessor"></span><span class="preprocessor"># define CPL_CVSID(string) static char cpl_cvsid[] = string; \</span><a name="l00433"></a>00433 <span class="preprocessor">static char *cvsid_aw() { return( cvsid_aw() ? ((char *) NULL) : cpl_cvsid ); }</span><a name="l00434"></a>00434 <span class="preprocessor"></span><span class="preprocessor">#else</span><a name="l00435"></a>00435 <span class="preprocessor"></span><span class="preprocessor"># define CPL_CVSID(string)</span><a name="l00436"></a>00436 <span class="preprocessor"></span><span class="preprocessor">#endif</span><a name="l00437"></a>00437 <span class="preprocessor"></span><a name="l00438"></a>00438 <span class="preprocessor">#endif </span><span class="comment">/* ndef CPL_BASE_H_INCLUDED */</span></pre></div><hr>Generated for GDAL by <a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1.</body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -