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

📄 stdtp_8h-source.html

📁 最新版本!fastdb是高效的内存数据库系统
💻 HTML
📖 第 1 页 / 共 3 页
字号:
00141 <span class="preprocessor">#if FASTDB_DEBUG &gt;= DEBUG_TRACE_IMPORTANT</span>
00142 <span class="preprocessor"></span><span class="preprocessor">#define TRACE_IMSG(x)  dbTrace x</span>
00143 <span class="preprocessor"></span><span class="preprocessor">#else</span>
00144 <span class="preprocessor"></span><span class="preprocessor">#define TRACE_IMSG(x)</span>
00145 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
00146 <span class="preprocessor"></span>
00147 <span class="preprocessor">#if FASTDB_DEBUG &gt;= DEBUG_TRACE_ALL</span>
00148 <span class="preprocessor"></span><span class="preprocessor">#define TRACE_MSG(x)  dbTrace x</span>
00149 <span class="preprocessor"></span><span class="preprocessor">#else</span>
00150 <span class="preprocessor"></span><span class="preprocessor">#define TRACE_MSG(x)</span>
00151 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
00152 <span class="preprocessor"></span>
00153 <span class="preprocessor">#ifndef EXTRA_DEBUG_NEW_PARAMS</span>
00154 <span class="preprocessor"></span><span class="preprocessor">#define EXTRA_DEBUG_NEW_PARAMS</span>
00155 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
00156 <span class="preprocessor"></span>
00157 
00158 <span class="preprocessor">#ifndef HAS_TEMPLATE_FRIENDS</span>
00159 <span class="preprocessor"></span><span class="preprocessor">#if (!defined(_MSC_VER) || _MSC_VER &gt;= 1300) &amp;&amp; !defined(NO_MEMBER_TEMPLATES)</span>
00160 <span class="preprocessor"></span><span class="preprocessor">#define HAS_TEMPLATE_FRIENDS</span>
00161 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
00162 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
00163 <span class="preprocessor"></span>
00164 <span class="preprocessor">#ifndef __IBMCPP__</span>
00165 <span class="preprocessor"></span>BEGIN_FASTDB_NAMESPACE
00166 <span class="preprocessor">#endif</span>
00167 <span class="preprocessor"></span>
00168 <span class="comment">// User defined trace functions</span>
00169 <span class="keyword">typedef</span> void (CLI_CALLBACK_CC *dbTraceFunctionPtr)(<span class="keywordtype">char</span>* message);
00170 
00171 <span class="comment">// Pointer to trace function (default implementation just prints message to stderr)</span>
00172 <span class="keyword">extern</span> FASTDB_DLL_ENTRY dbTraceFunctionPtr dbTraceFunction;
00173 
00174 <span class="keyword">extern</span> FASTDB_DLL_ENTRY <span class="keywordtype">void</span> dbTrace(<span class="keywordtype">char</span>* message, ...);
00175 
00176 <span class="preprocessor">#if defined(_WINCE) || defined(UNICODE)</span>
00177 <span class="preprocessor"></span><span class="keyword">inline</span> <span class="keywordtype">wchar_t</span>* convertStringToUnicode(<span class="keywordtype">wchar_t</span>* dst, <span class="keywordtype">char</span> <span class="keyword">const</span>* src, size_t size) {
00178         mbstowcs(dst, src, size);
00179         <span class="keywordflow">return</span> dst;
00180 }
00181 <span class="preprocessor">#define CNV_BUF_SIZE 256</span>
00182 <span class="preprocessor"></span><span class="preprocessor">#define W32_STRING(s) (s == NULL ? (wchar_t*)NULL : convertStringToUnicode((wchar_t*)alloca(sizeof(wchar_t)*CNV_BUF_SIZE), s, CNV_BUF_SIZE))</span>
00183 <span class="preprocessor"></span><span class="preprocessor">#else</span>
00184 <span class="preprocessor"></span><span class="preprocessor">#define W32_STRING(s) s</span>
00185 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
00186 <span class="preprocessor"></span>
00187 
00188 <span class="comment">// Align value 'x' to boundary 'b' which should be power of 2</span>
00189 <span class="preprocessor">#define DOALIGN(x,b)   (((x) + (b) - 1) &amp; ~((b) - 1))</span>
00190 <span class="preprocessor"></span>
00191 <span class="keyword">typedef</span> <span class="keywordtype">signed</span> <span class="keywordtype">char</span>    db_int1;
00192 <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>  db_nat1;
00193 
00194 <span class="keyword">typedef</span> <span class="keywordtype">signed</span> <span class="keywordtype">short</span>   db_int2;
00195 <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> db_nat2;
00196 
00197 <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>  db_byte;
00198 
00199 <span class="preprocessor">#if defined(_WIN32) &amp;&amp; !defined(__MINGW32__)</span>
00200 <span class="preprocessor"></span><span class="preprocessor">#if defined(_MSC_VER) || _MSC_VER &lt; 1300</span>
00201 <span class="preprocessor"></span><span class="keyword">typedef</span> <span class="keywordtype">signed</span>   <span class="keywordtype">int</span> db_int4;
00202 <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> db_nat4;
00203 <span class="preprocessor">#else</span>
00204 <span class="preprocessor"></span><span class="keyword">typedef</span> <span class="keywordtype">signed</span>   __int32 db_int4;
00205 <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> __int32 db_nat4;
00206 <span class="preprocessor">#endif</span>
00207 <span class="preprocessor"></span><span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> __int64 db_nat8;
00208 <span class="keyword">typedef</span> <span class="keywordtype">signed</span>   __int64 db_int8;
00209 <span class="preprocessor">#if defined(__IBMCPP__)</span>
00210 <span class="preprocessor"></span><span class="preprocessor">#define INT8_FORMAT "%lld"</span>
00211 <span class="preprocessor"></span><span class="preprocessor">#else</span>
00212 <span class="preprocessor"></span><span class="preprocessor">#define INT8_FORMAT "%I64d"</span>
00213 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
00214 <span class="preprocessor"></span><span class="preprocessor">#define CONST64(c)  c</span>
00215 <span class="preprocessor"></span><span class="preprocessor">#else</span>
00216 <span class="preprocessor"></span><span class="keyword">typedef</span> <span class="keywordtype">signed</span> <span class="keywordtype">int</span>    db_int4;
00217 <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>  db_nat4;
00218 <span class="preprocessor">#if defined(__osf__ )</span>
00219 <span class="preprocessor"></span><span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> db_nat8;
00220 <span class="keyword">typedef</span> <span class="keywordtype">signed</span>   <span class="keywordtype">long</span> db_int8;
00221 <span class="preprocessor">#define INT8_FORMAT "%ld"</span>
00222 <span class="preprocessor"></span><span class="preprocessor">#define CONST64(c)  c##L</span>
00223 <span class="preprocessor"></span><span class="preprocessor">#ifndef SIZEOF_LONG</span>
00224 <span class="preprocessor"></span><span class="preprocessor">#define SIZEOF_LONG 8</span>
00225 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
00226 <span class="preprocessor"></span><span class="preprocessor">#else</span>
00227 <span class="preprocessor"></span><span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <span class="keywordtype">long</span> db_nat8;
00228 <span class="keyword">typedef</span> <span class="keywordtype">signed</span>   <span class="keywordtype">long</span> <span class="keywordtype">long</span> db_int8;
00229 <span class="preprocessor">#if defined(__MINGW32__) &amp;&amp; __GNUG__&lt;3</span>
00230 <span class="preprocessor"></span><span class="preprocessor">#define INT8_FORMAT "%I64d"</span>
00231 <span class="preprocessor"></span><span class="preprocessor">#else</span>
00232 <span class="preprocessor"></span><span class="preprocessor">#define INT8_FORMAT "%lld"</span>
00233 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
00234 <span class="preprocessor"></span><span class="preprocessor">#define CONST64(c)  c##LL</span>
00235 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
00236 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
00237 <span class="preprocessor"></span>
00238 <span class="comment">// This mapping is done for compatibility reasons</span>
00239 <span class="keyword">typedef</span> db_int1 int1;
00240 <span class="keyword">typedef</span> db_nat1 nat1;
00241 <span class="keyword">typedef</span> db_int2 int2;
00242 <span class="keyword">typedef</span> db_nat2 nat2;
00243 <span class="keyword">typedef</span> db_int4 int4;
00244 <span class="keyword">typedef</span> db_nat4 nat4;
00245 
00246 <span class="keyword">typedef</span> db_byte byte;
00247 
00248 <span class="preprocessor">#ifndef INT8_IS_DEFINED</span>
00249 <span class="preprocessor"></span><span class="keyword">typedef</span> db_int8 int8;
00250 <span class="preprocessor">#endif</span>
00251 <span class="preprocessor"></span><span class="keyword">typedef</span> db_nat8 nat8;
00252 
00253 <span class="keyword">typedef</span> <span class="keywordtype">float</span>  real4;
00254 <span class="keyword">typedef</span> <span class="keywordtype">double</span> real8; 
00255 
00256 
00257 <span class="comment">// Starting from which version IBM C++ compiler support bool type?</span>
00258 <span class="comment">//#if !defined(bool) &amp;&amp; ((defined(__SUNPRO_CC) &amp;&amp; __SUNPRO_CC_COMPAT &lt; 5) || defined(__IBMCPP__))</span>
00259 <span class="preprocessor">#if !defined(bool) &amp;&amp; (defined(__SUNPRO_CC) &amp;&amp; __SUNPRO_CC_COMPAT &lt; 5)</span>
00260 <span class="preprocessor"></span><span class="preprocessor">#define bool  char</span>
00261 <span class="preprocessor"></span><span class="preprocessor">#define true  (1)</span>
00262 <span class="preprocessor"></span><span class="preprocessor">#define false (0)</span>
00263 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
00264 <span class="preprocessor"></span>
00265 <span class="preprocessor">#define nat8_low_part(x)  ((db_nat4)(x))</span>
00266 <span class="preprocessor"></span><span class="preprocessor">#define int8_low_part(x)  ((db_int4)(x))</span>
00267 <span class="preprocessor"></span><span class="preprocessor">#if defined(_MSC_VER) &amp;&amp; _MSC_VER &lt; 1300 // bug in MVC 6.0</span>
00268 <span class="preprocessor"></span><span class="preprocessor">#define nat8_high_part(x) (sizeof(x) &lt; 8 ? 0 : ((db_nat4)((db_nat8)(x)&gt;&gt;32)))</span>
00269 <span class="preprocessor"></span><span class="preprocessor">#define int8_high_part(x) (sizeof(x) &lt; 8 ? 0 : ((db_int4)((db_int8)(x)&gt;&gt;32)))</span>
00270 <span class="preprocessor"></span><span class="preprocessor">#else</span>
00271 <span class="preprocessor"></span><span class="preprocessor">#define nat8_high_part(x) ((db_nat4)((db_nat8)(x)&gt;&gt;32))</span>
00272 <span class="preprocessor"></span><span class="preprocessor">#define int8_high_part(x) ((db_int4)((db_int8)(x)&gt;&gt;32))</span>
00273 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
00274 <span class="preprocessor"></span>
00275 <span class="preprocessor">#define cons_nat8(hi, lo) ((((nat8)(hi)) &lt;&lt; 32) | (nat4)(lo))</span>
00276 <span class="preprocessor"></span><span class="preprocessor">#define cons_int8(hi, lo) ((((db_int8)(hi)) &lt;&lt; 32) | (nat4)(lo))</span>
00277 <span class="preprocessor"></span> 
00278 <span class="preprocessor">#define MAX_NAT8  nat8(-1)</span>
00279 <span class="preprocessor"></span>
00280 <span class="preprocessor">#ifndef BIG_ENDIAN</span>
00281 <span class="preprocessor"></span><span class="preprocessor">#define BIG_ENDIAN      4321    </span><span class="comment">/* most-significant byte first (IBM, net) */</span>
00282 <span class="preprocessor">#endif</span>
00283 <span class="preprocessor"></span><span class="preprocessor">#ifndef LITTLE_ENDIAN</span>
00284 <span class="preprocessor"></span><span class="preprocessor">#define LITTLE_ENDIAN   1234</span>
00285 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
00286 <span class="preprocessor"></span>
00287 <span class="preprocessor">#ifndef BYTE_ORDER</span>
00288 <span class="preprocessor"></span><span class="preprocessor">#if defined(__sparc__) || defined(__m68k__)</span>

⌨️ 快捷键说明

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