⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 stdtp_8h-source.html

📁 最新版本!fastdb是高效的内存数据库系统
💻 HTML
📖 第 1 页 / 共 3 页
字号:
00289 <span class="preprocessor"></span><span class="preprocessor">#define BYTE_ORDER      BIG_ENDIAN </span>
00290 <span class="preprocessor"></span><span class="preprocessor">#else</span>
00291 <span class="preprocessor"></span><span class="preprocessor">#define BYTE_ORDER      LITTLE_ENDIAN</span>
00292 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
00293 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
00294 <span class="preprocessor"></span>
00295 <span class="preprocessor">#ifdef _WIN32</span>
00296 <span class="preprocessor"></span><span class="keyword">typedef</span> HANDLE descriptor_t; 
00297 <span class="preprocessor">#else</span>
00298 <span class="preprocessor"></span><span class="keyword">typedef</span> <span class="keywordtype">int</span> descriptor_t; 
00299 <span class="preprocessor">#endif</span>
00300 <span class="preprocessor"></span>
00301 <span class="preprocessor">#if !defined(_fastcall) &amp;&amp; (!defined(_WIN32) || defined(__IBMCPP__) || defined(__MINGW32__))</span>
00302 <span class="preprocessor"></span><span class="preprocessor">#define _fastcall</span>
00303 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
00304 <span class="preprocessor"></span>
00305 <span class="preprocessor">#if defined(_WIN32) || !defined(NO_PTHREADS)</span>
00306 <span class="preprocessor"></span><span class="preprocessor">#define THREADS_SUPPORTED 1</span>
00307 <span class="preprocessor"></span><span class="preprocessor">#else</span>
00308 <span class="preprocessor"></span><span class="preprocessor">#define THREADS_SUPPORTED 0</span>
00309 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
00310 <span class="preprocessor"></span>
00311 <span class="preprocessor">#define itemsof(array) (sizeof(array)/sizeof*(array))</span>
00312 <span class="preprocessor"></span>
00313 <span class="comment">// Enable or disable trace at runtime</span>
00314 <span class="keyword">extern</span> FASTDB_DLL_ENTRY <span class="keywordtype">bool</span> dbTraceEnable;
00315 
00316 <span class="keyword">extern</span> FASTDB_DLL_ENTRY byte* dbMalloc(size_t size);
00317 <span class="keyword">extern</span> FASTDB_DLL_ENTRY <span class="keywordtype">void</span>  dbFree(<span class="keywordtype">void</span>* ptr);
00318 
00319 <span class="preprocessor">#if defined(FUZZY_CHECKPOINT) &amp;&amp; !defined(NO_MMAP)</span>
00320 <span class="preprocessor"></span><span class="preprocessor">#define NO_MMAP 1</span>
00321 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
00322 <span class="preprocessor"></span>
00323 <span class="preprocessor">#if !defined(USE_POSIX_MMAP) &amp;&amp; defined(DISKLESS_CONFIGURATION)</span>
00324 <span class="preprocessor"></span><span class="comment">// To enable sharing of database in diskless configuration we have to use</span>
00325 <span class="comment">// shmap instead of mmap, which anonymous region is private to process.</span>
00326 <span class="preprocessor">#define USE_POSIX_MMAP 0</span>
00327 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
00328 <span class="preprocessor"></span>
00329 <span class="preprocessor">#if defined(USE_POSIX_MMAP) &amp;&amp; !USE_POSIX_MMAP</span>
00330 <span class="preprocessor"></span><span class="comment">// allocate space for the database using Sys-V shmat</span>
00331 <span class="preprocessor">#define USE_SYSV_SHARED_MEMORY 1</span>
00332 <span class="preprocessor"></span><span class="preprocessor">#if !defined(NO_MMAP) &amp;&amp; !defined(DISKLESS_CONFIGURATION)</span>
00333 <span class="preprocessor"></span><span class="preprocessor">#define NO_MMAP 1</span>
00334 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
00335 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
00336 <span class="preprocessor"></span>
00337 <span class="preprocessor">#if !defined(_WIN32)</span>
00338 <span class="preprocessor"></span><span class="preprocessor">#define NO_STRICMP  1</span>
00339 <span class="preprocessor"></span><span class="preprocessor">#define NO_STRICOLL 1</span>
00340 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
00341 <span class="preprocessor"></span>
00342 
00343 <span class="preprocessor">#if defined(_WINCE) &amp;&amp; defined(USE_LOCALE_SETTINGS)</span>
00344 <span class="preprocessor"></span><span class="preprocessor">#undef USE_LOCALE_SETTINGS</span>
00345 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
00346 <span class="preprocessor"></span>
00347 <span class="preprocessor">#if defined(IGNORE_CASE) &amp;&amp; defined(NO_STRICMP)</span>
00348 <span class="preprocessor"></span><span class="keyword">inline</span> <span class="keywordtype">int</span> stricmp(<span class="keyword">const</span> <span class="keywordtype">char</span>* p, <span class="keyword">const</span> <span class="keywordtype">char</span>* q)
00349 {
00350     <span class="keywordflow">while</span> (toupper(*(<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>*)p) == toupper(*(<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>*)q)) { 
00351         <span class="keywordflow">if</span> (*p == <span class="charliteral">'\0'</span>) { 
00352             <span class="keywordflow">return</span> 0;
00353         }
00354         p += 1;
00355         q += 1;
00356     }
00357     <span class="keywordflow">return</span> toupper(*(<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>*)p) - toupper(*(<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>*)q);
00358 }
00359 <span class="preprocessor">#else</span>
00360 <span class="preprocessor"></span><span class="preprocessor">#ifdef _WIN32</span>
00361 <span class="preprocessor"></span><span class="preprocessor">#define stricoll(x,y) _stricoll(x,y)</span>
00362 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
00363 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
00364 <span class="preprocessor"></span>
00365 <span class="preprocessor">#ifndef STRINCMP_DEFINED</span>
00366 <span class="preprocessor"></span><span class="keyword">inline</span> <span class="keywordtype">int</span> strincmp(<span class="keyword">const</span> <span class="keywordtype">char</span>* p, <span class="keyword">const</span> <span class="keywordtype">char</span>* q, size_t n)
00367 {
00368     <span class="keywordflow">while</span> (n &gt; 0) { 
00369         <span class="keywordtype">int</span> diff = toupper(*(<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>*)p) - toupper(*(<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>*)q);
00370         <span class="keywordflow">if</span> (diff != 0) { 
00371             <span class="keywordflow">return</span> diff;
00372         } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (*p == <span class="charliteral">'\0'</span>) { 
00373             <span class="keywordflow">return</span> 0;
00374         }
00375         p += 1;
00376         q += 1;
00377         n -= 1; 
00378     }
00379     <span class="keywordflow">return</span> 0;
00380 }
00381 <span class="preprocessor">#endif</span>
00382 <span class="preprocessor"></span>
00383 <span class="preprocessor">#if defined(IGNORE_CASE) &amp;&amp; defined(USE_LOCALE_SETTINGS) &amp;&amp; defined(NO_STRICOLL) </span>
00384 <span class="preprocessor"></span><span class="keyword">inline</span> <span class="keywordtype">int</span> stricoll(<span class="keyword">const</span> <span class="keywordtype">char</span>* p, <span class="keyword">const</span> <span class="keywordtype">char</span>* q)
00385 {
00386     <span class="keywordtype">char</span>   p_buf[256];
00387     <span class="keywordtype">char</span>   q_buf[256];
00388     size_t p_len = strlen(p);
00389     size_t q_len = strlen(q);
00390     <span class="keywordtype">char</span>*  p_dst = p_buf; 
00391     <span class="keywordtype">char</span>*  q_dst = q_buf; 
00392     <span class="keywordtype">int</span>    i;
00393     <span class="keywordflow">if</span> (p_len &gt;= <span class="keyword">sizeof</span>(p_buf)) { 
00394         p_dst = <span class="keyword">new</span> <span class="keywordtype">char</span>[p_len+1];
00395     }
00396     <span class="keywordflow">if</span> (q_len &gt;= <span class="keyword">sizeof</span>(q_buf)) { 
00397         q_dst = <span class="keyword">new</span> <span class="keywordtype">char</span>[q_len+1];
00398     }
00399     <span class="keywordflow">for</span> (i = 0; p[i] != <span class="charliteral">'\0'</span>; i++) { 
00400         p_dst[i] = toupper(p[i] &amp; 0xFF);
00401     }
00402     p_dst[i] = <span class="charliteral">'\0'</span>;
00403 
00404     <span class="keywordflow">for</span> (i = 0; q[i] != <span class="charliteral">'\0'</span>; i++) { 
00405         q_dst[i] = toupper(q[i] &amp; 0xFF);
00406     }
00407     q_dst[i] = <span class="charliteral">'\0'</span>;
00408 
00409     <span class="keywordtype">int</span> diff = strcoll(p_dst, q_dst);
00410     <span class="keywordflow">if</span> (p_dst != p_buf) { 
00411         <span class="keyword">delete</span>[] p_dst;
00412     }
00413     <span class="keywordflow">if</span> (q_dst != q_buf) { 
00414         <span class="keyword">delete</span>[] q_dst;
00415     }
00416     <span class="keywordflow">return</span> diff;
00417 }
00418 <span class="preprocessor">#endif</span>
00419 <span class="preprocessor"></span>
00420 <span class="preprocessor">#ifndef __IBMCPP__</span>
00421 <span class="preprocessor"></span>END_FASTDB_NAMESPACE
00422 <span class="preprocessor">#endif</span>
00423 <span class="preprocessor"></span>
00424 <span class="preprocessor">#endif</span>
00425 <span class="preprocessor"></span>
00426 
00427 
00428 
</pre></div><hr><address style="align: right;"><small>Generated on Thu Feb 14 12:42:30 2008 for FastDB by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 
width=110 height=53></a>1.2.18 </small></address>
</body>
</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -