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

📄 container_8h-source.html

📁 俄罗斯牛人KK的作品,著名的ORDBMS,这里上传最新的3.39版本源代码.希望了解对象关系数据库的同好,请不要错过.
💻 HTML
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"><title>container.h Source File</title><link href="doxygen.css" rel="stylesheet" type="text/css"></head><body><!-- Generated by Doxygen 1.2.18 --><center><a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; </center><hr><h1>container.h</h1><div class="fragment"><pre>00001 <span class="comment">//-&lt; CONTAINER.H &gt;---------------------------------------------------*--------*</span>00002 <span class="comment">// FastDB                    Version 1.0         (c) 1999  GARRET    *     ?  *</span>00003 <span class="comment">// (Main Memory Database Management System)                          *   /\|  *</span>00004 <span class="comment">//                                                                   *  /  \  *</span>00005 <span class="comment">//                          Created:     05-Nov-2002  K.A. Knizhnik  * / [] \ *</span>00006 <span class="comment">//                          Last update: 05-Nov-2002  K.A. Knizhnik  * GARRET *</span>00007 <span class="comment">//-------------------------------------------------------------------*--------*</span>00008 <span class="comment">// T-Tree object container</span>00009 <span class="comment">//-------------------------------------------------------------------*--------*</span>00010 00011 <span class="preprocessor">#ifndef __CONTAINER_H__</span>00012 <span class="preprocessor"></span><span class="preprocessor">#define __CONTAINER_H__</span>00013 <span class="preprocessor"></span>00014 BEGIN_FASTDB_NAMESPACE00015 00019 <span class="keyword">enum</span> SpatialSearchType { 00020     SPATIAL_SEARCH_EQUAL,00021     SPATIAL_SEARCH_OVERLAPS,00022     SPATIAL_SEARCH_SUPERSET,00023     SPATIAL_SEARCH_PROPER_SUPERSE,00024     SPATIAL_SEARCH_SUBSET,00025     SPATIAL_SEARCH_PROPER_SUBSET00026 };00027 <a name="l00032"></a><a class="code" href="classdbAnyContainer.html">00032</a> <span class="keyword">class </span>FASTDB_DLL_ENTRY <a class="code" href="classdbAnyContainer.html">dbAnyContainer</a> : <span class="keyword">public</span> <a class="code" href="classdbAnyReference.html">dbAnyReference</a> {00033   <span class="keyword">protected</span>:00034     <a class="code" href="classdbFieldDescriptor.html">dbFieldDescriptor</a>* fd;00035 00036     <span class="keywordtype">void</span> create(<a class="code" href="classdbDatabase.html">dbDatabase</a>* db);00037     <span class="keywordtype">void</span> purge(<a class="code" href="classdbDatabase.html">dbDatabase</a>* db);00038     <span class="keywordtype">void</span> free(<a class="code" href="classdbDatabase.html">dbDatabase</a>* db);00039     <span class="keywordtype">void</span> add(<a class="code" href="classdbDatabase.html">dbDatabase</a>* db, <a class="code" href="classdbAnyReference.html">dbAnyReference</a> <span class="keyword">const</span>&amp; ref);00040     <span class="keywordtype">void</span> remove(<a class="code" href="classdbDatabase.html">dbDatabase</a>* db, <a class="code" href="classdbAnyReference.html">dbAnyReference</a> <span class="keyword">const</span>&amp; ref);00041     <span class="keywordtype">int</span>  search(<a class="code" href="classdbAnyCursor.html">dbAnyCursor</a>&amp; cursor, <span class="keywordtype">void</span> <span class="keyword">const</span>* from, <span class="keywordtype">void</span> <span class="keyword">const</span>* till);00042     <span class="keywordtype">int</span>  prefixSearch(<a class="code" href="classdbAnyCursor.html">dbAnyCursor</a>&amp; cursor, <span class="keywordtype">char</span> <span class="keyword">const</span>* key);00043     <span class="keywordtype">int</span>  spatialSearch(<a class="code" href="classdbAnyCursor.html">dbAnyCursor</a>&amp; cursor, <a class="code" href="classrectangle.html">rectangle</a> <span class="keyword">const</span>&amp; r, SpatialSearchType type);00044 00045     <a class="code" href="classdbAnyContainer.html">dbAnyContainer</a>(<span class="keywordtype">char</span> <span class="keyword">const</span>* fieldName, <a class="code" href="classdbTableDescriptor.html">dbTableDescriptor</a>&amp; desc);00046 };00047 00048 00052 <span class="keyword">template</span>&lt;<span class="keyword">class</span> T&gt;<a name="l00053"></a><a class="code" href="classdbContainer.html">00053</a> <span class="keyword">class </span><a class="code" href="classdbContainer.html">dbContainer</a> : <span class="keyword">public</span> <a class="code" href="classdbAnyContainer.html">dbAnyContainer</a> {00054   <span class="keyword">public</span>:<a name="l00062"></a><a class="code" href="classdbContainer.html#dbContainera0">00062</a>     <span class="keywordtype">int</span> <a class="code" href="classdbContainer.html#dbContainera0">search</a>(<a class="code" href="classdbCursor.html">dbCursor&lt;T&gt;</a>&amp; cursor, <span class="keywordtype">void</span> <span class="keyword">const</span>* from, <span class="keywordtype">void</span> <span class="keyword">const</span>* till) {00063         <span class="keywordflow">return</span> dbAnyContainer::search(cursor, from, till);00064     }<a name="l00071"></a><a class="code" href="classdbContainer.html#dbContainera1">00071</a>     <span class="keywordtype">int</span> <a class="code" href="classdbContainer.html#dbContainera0">search</a>(<a class="code" href="classdbCursor.html">dbCursor&lt;T&gt;</a>&amp; cursor, <span class="keywordtype">void</span> <span class="keyword">const</span>* key) {00072         <span class="keywordflow">return</span> dbAnyContainer::search(cursor, key, key);00073     }00074 <a name="l00081"></a><a class="code" href="classdbContainer.html#dbContainera2">00081</a>     <span class="keywordtype">int</span> <a class="code" href="classdbContainer.html#dbContainera2">prefixSearch</a>(<a class="code" href="classdbCursor.html">dbCursor&lt;T&gt;</a>&amp; cursor, <span class="keywordtype">char</span> <span class="keyword">const</span>* key) {00082         <span class="keywordflow">return</span> dbAnyContainer::prefixSearch(cursor, key);00083     }00084 <a name="l00090"></a><a class="code" href="classdbContainer.html#dbContainera3">00090</a>     <span class="keywordtype">int</span> <a class="code" href="classdbContainer.html#dbContainera0">search</a>(<a class="code" href="classdbCursor.html">dbCursor&lt;T&gt;</a>&amp; cursor) {00091         <span class="keywordflow">return</span> dbAnyContainer::search(cursor, NULL, NULL);00092     }00093 <a name="l00101"></a><a class="code" href="classdbContainer.html#dbContainera4">00101</a>     <span class="keywordtype">int</span> <a class="code" href="classdbContainer.html#dbContainera4">spatialSearch</a>(<a class="code" href="classdbCursor.html">dbCursor&lt;T&gt;</a>&amp; cursor, <a class="code" href="classrectangle.html">rectangle</a> <span class="keyword">const</span>&amp; r, SpatialSearchType type) { 00102         <span class="keywordflow">return</span> dbAnyContainer::spatialSearch(cursor, r, type);00103     }00104 <a name="l00108"></a><a class="code" href="classdbContainer.html#dbContainera5">00108</a>     <span class="keywordtype">void</span> <a class="code" href="classdbContainer.html#dbContainera5">create</a>() {00109         dbAnyContainer::create(T::dbDescriptor.getDatabase());00110     }00111 <a name="l00115"></a><a class="code" href="classdbContainer.html#dbContainera6">00115</a>     <span class="keywordtype">void</span> <a class="code" href="classdbContainer.html#dbContainera6">purge</a>() {00116         dbAnyContainer::purge(T::dbDescriptor.getDatabase());00117     }00118 <a name="l00122"></a><a class="code" href="classdbContainer.html#dbContainera7">00122</a>     <span class="keywordtype">void</span> <a class="code" href="classdbContainer.html#dbContainera7">free</a>() {00123         dbAnyContainer::free(T::dbDescriptor.getDatabase());00124     }00125 <a name="l00130"></a><a class="code" href="classdbContainer.html#dbContainera8">00130</a>     <span class="keywordtype">void</span> <a class="code" href="classdbContainer.html#dbContainera8">add</a>(<a class="code" href="classdbReference.html">dbReference&lt;T&gt;</a> <span class="keyword">const</span>&amp; ref) {00131         dbAnyContainer::add(T::dbDescriptor.getDatabase(), ref);00132     }00133 <a name="l00138"></a><a class="code" href="classdbContainer.html#dbContainera9">00138</a>     <span class="keywordtype">void</span> <a class="code" href="classdbContainer.html#dbContainera9">remove</a>(<a class="code" href="classdbReference.html">dbReference&lt;T&gt;</a> <span class="keyword">const</span>&amp; ref) {00139         dbAnyContainer::remove(T::dbDescriptor.getDatabase(), ref);00140     }00141 <a name="l00146"></a><a class="code" href="classdbContainer.html#dbContainera10">00146</a>     <a class="code" href="classdbContainer.html#dbContainera10">dbContainer</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* fieldName) : <a class="code" href="classdbAnyContainer.html">dbAnyContainer</a>(fieldName, T::dbDescriptor) {}00147     <a name="l00152"></a><a class="code" href="classdbContainer.html#dbContainera11">00152</a>     <span class="keywordtype">void</span> <a class="code" href="classdbContainer.html#dbContainera5">create</a>(<a class="code" href="classdbDatabase.html">dbDatabase</a>* db) {00153         dbAnyContainer::create(db);00154     }00155 <a name="l00160"></a><a class="code" href="classdbContainer.html#dbContainera12">00160</a>     <span class="keywordtype">void</span> <a class="code" href="classdbContainer.html#dbContainera6">purge</a>(<a class="code" href="classdbDatabase.html">dbDatabase</a>* db) {00161         dbAnyContainer::purge(db);00162     }00163 <a name="l00168"></a><a class="code" href="classdbContainer.html#dbContainera13">00168</a>     <span class="keywordtype">void</span> <a class="code" href="classdbContainer.html#dbContainera7">free</a>(<a class="code" href="classdbDatabase.html">dbDatabase</a>* db) {00169         dbAnyContainer::free(db);00170     }00171 <a name="l00177"></a><a class="code" href="classdbContainer.html#dbContainera14">00177</a>     <span class="keywordtype">void</span> <a class="code" href="classdbContainer.html#dbContainera8">add</a>(<a class="code" href="classdbDatabase.html">dbDatabase</a>* db, <a class="code" href="classdbReference.html">dbReference&lt;T&gt;</a> <span class="keyword">const</span>&amp; ref) {00178         dbAnyContainer::add(db, ref);00179     }00180 <a name="l00186"></a><a class="code" href="classdbContainer.html#dbContainera15">00186</a>     <span class="keywordtype">void</span> <a class="code" href="classdbContainer.html#dbContainera9">remove</a>(<a class="code" href="classdbDatabase.html">dbDatabase</a>* db, <a class="code" href="classdbReference.html">dbReference&lt;T&gt;</a> <span class="keyword">const</span>&amp; ref) {00187         dbAnyContainer::remove(db, ref);00188     }00189 <a name="l00195"></a><a class="code" href="classdbContainer.html#dbContainera16">00195</a>     <a class="code" href="classdbContainer.html#dbContainera10">dbContainer</a>(<a class="code" href="classdbDatabase.html">dbDatabase</a>* db, <span class="keyword">const</span> <span class="keywordtype">char</span>* fieldName) 00196     : <a class="code" href="classdbAnyContainer.html">dbAnyContainer</a>(fieldName, *db-&gt;lookupTable(&amp;T::dbDescriptor)) {}00197 };00198 00199 END_FASTDB_NAMESPACE00200 00201 <span class="preprocessor">#endif</span>00202 <span class="preprocessor"></span>00203 00204 00205 </pre></div><hr><address style="align: right;"><small>Generated on Mon Oct 23 13:23:58 2006 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 + -