📄 stdtp_8h-source.html
字号:
00141 <span class="preprocessor">#if FASTDB_DEBUG >= 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 >= 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 >= 1300) && !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) & ~((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) && !defined(__MINGW32__)</span>
00200 <span class="preprocessor"></span><span class="preprocessor">#if defined(_MSC_VER) || _MSC_VER < 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__) && __GNUG__<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) && ((defined(__SUNPRO_CC) && __SUNPRO_CC_COMPAT < 5) || defined(__IBMCPP__))</span>
00259 <span class="preprocessor">#if !defined(bool) && (defined(__SUNPRO_CC) && __SUNPRO_CC_COMPAT < 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) && _MSC_VER < 1300 // bug in MVC 6.0</span>
00268 <span class="preprocessor"></span><span class="preprocessor">#define nat8_high_part(x) (sizeof(x) < 8 ? 0 : ((db_nat4)((db_nat8)(x)>>32)))</span>
00269 <span class="preprocessor"></span><span class="preprocessor">#define int8_high_part(x) (sizeof(x) < 8 ? 0 : ((db_int4)((db_int8)(x)>>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)>>32))</span>
00272 <span class="preprocessor"></span><span class="preprocessor">#define int8_high_part(x) ((db_int4)((db_int8)(x)>>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)) << 32) | (nat4)(lo))</span>
00276 <span class="preprocessor"></span><span class="preprocessor">#define cons_int8(hi, lo) ((((db_int8)(hi)) << 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 + -