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

📄 dict_8h-source.html

📁 pwlib开发文档
💻 HTML
📖 第 1 页 / 共 4 页
字号:
00221 00224     <a class="code" href="object_8h.html#a2">PINLINE</a> PINDEX <a class="code" href="classPOrdinalKey.html#z85_3">operator--</a>(<span class="keywordtype">int</span>);00225 00228     <a class="code" href="object_8h.html#a2">PINLINE</a> <a class="code" href="classPOrdinalKey.html">POrdinalKey</a> &amp; <a class="code" href="classPOrdinalKey.html#z85_5">operator+=</a>(PINDEX);00229 00232     <a class="code" href="object_8h.html#a2">PINLINE</a> <a class="code" href="classPOrdinalKey.html">POrdinalKey</a> &amp; <a class="code" href="classPOrdinalKey.html#z85_6">operator-=</a>(PINDEX );00234 00235   <span class="keyword">private</span>:00236     PINDEX theKey;00237 };00238 00239 00241 <a name="l00252"></a><a class="code" href="classPHashTable.html">00252</a> <span class="keyword">class </span><a class="code" href="classPHashTable.html">PHashTable</a> : <span class="keyword">public</span> <a class="code" href="classPCollection.html">PCollection</a>00253 {00254   <a class="code" href="contain_8h.html#a0">PCONTAINERINFO</a>(<a class="code" href="classPHashTable.html">PHashTable</a>, <a class="code" href="classPCollection.html">PCollection</a>);00255 00256   <span class="keyword">public</span>:00259 00260     <a class="code" href="classPHashTable.html#z87_0">PHashTable</a>();00262 00274     <span class="keyword">virtual</span> <a class="code" href="classPObject.html#z199_0">Comparison</a> <a class="code" href="classPHashTable.html#z89_0">Compare</a>(00275       <span class="keyword">const</span> <a class="code" href="classPObject.html">PObject</a> &amp; obj   00276     ) <span class="keyword">const</span>;00278 00279 00280   <span class="keyword">protected</span>:00290     <span class="keyword">virtual</span> BOOL <a class="code" href="classPHashTable.html#z91_0">SetSize</a>(00291       PINDEX newSize  00292     );00294 00295 00306     <a class="code" href="object_8h.html#a2">PINLINE</a> BOOL <a class="code" href="classPHashTable.html#z93_0">AbstractContains</a>(00307       <span class="keyword">const</span> <a class="code" href="classPObject.html">PObject</a> &amp; key   00308     ) <span class="keyword">const</span>;00309 00324     <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classPObject.html">PObject</a> &amp; <a class="code" href="classPHashTable.html#z93_1">AbstractGetKeyAt</a>(00325       PINDEX index  00326     ) <span class="keyword">const</span>;00327 00342     <span class="keyword">virtual</span> <a class="code" href="classPObject.html">PObject</a> &amp; <a class="code" href="classPHashTable.html#z93_2">AbstractGetDataAt</a>(00343       PINDEX index  00344     ) <span class="keyword">const</span>;00346 00347 00348     <span class="comment">// Member variables</span><a name="l00349"></a><a class="code" href="classPHashTable_1_1Element.html">00349</a>     <span class="keyword">class </span><a class="code" href="classPHashTable_1_1Element.html">Element</a> {00350       <span class="keyword">public</span>:<a name="l00351"></a><a class="code" href="classPHashTable_1_1Element.html#l0">00351</a>         <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classPHashTable_1_1Element.html#l0">Table</a>;<a name="l00352"></a><a class="code" href="classPHashTable_1_1Element.html#m0">00352</a>         <a class="code" href="classPObject.html">PObject</a> * <a class="code" href="classPHashTable_1_1Element.html#m0">key</a>;<a name="l00353"></a><a class="code" href="classPHashTable_1_1Element.html#m1">00353</a>         <a class="code" href="classPObject.html">PObject</a> * <a class="code" href="classPHashTable_1_1Element.html#m1">data</a>;<a name="l00354"></a><a class="code" href="classPHashTable_1_1Element.html#m2">00354</a>         <a class="code" href="classPHashTable_1_1Element.html">Element</a> * <a class="code" href="classPHashTable_1_1Element.html#m2">next</a>;<a name="l00355"></a><a class="code" href="classPHashTable_1_1Element.html#m3">00355</a>         <a class="code" href="classPHashTable_1_1Element.html">Element</a> * <a class="code" href="classPHashTable_1_1Element.html#m3">prev</a>;00356     };00357 00358     <a class="code" href="array_8h.html#a1">PDECLARE_BASEARRAY</a>(<a class="code" href="classPHashTable.html#l0">Table</a>, Element *)00359 #ifdef DOC_PLUS_PLUS00360     {00361 <span class="preprocessor">#endif</span>00362 <span class="preprocessor"></span>      <span class="keyword">public</span>:00363         <span class="keyword">virtual</span> ~<a class="code" href="classPHashTable.html#l0">Table</a>() { <a class="code" href="classPContainer.html#b5">Destruct</a>(); }00364         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classPContainer.html#b1">DestroyContents</a>();00365 00366         PINDEX AppendElement(<a class="code" href="classPObject.html">PObject</a> * key, <a class="code" href="classPObject.html">PObject</a> * data);00367         <a class="code" href="classPObject.html">PObject</a> * RemoveElement(<span class="keyword">const</span> <a class="code" href="classPObject.html">PObject</a> &amp; key);00368         BOOL SetLastElementAt(PINDEX index);00369         Element * GetElementAt(<span class="keyword">const</span> <a class="code" href="classPObject.html">PObject</a> &amp; key);00370         PINDEX GetElementsIndex(<span class="keyword">const</span> <a class="code" href="classPObject.html">PObject</a>*obj,BOOL byVal,BOOL keys) <span class="keyword">const</span>;00371 00372         PINDEX    lastIndex;00373         PINDEX    lastBucket;00374         Element * lastElement;00375 00376         BOOL deleteKeys;00377 00378       <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classPHashTable.html">PHashTable</a>;00379       <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classPAbstractSet.html">PAbstractSet</a>;00380     };<a name="l00381"></a><a class="code" href="classPHashTable.html#l0">00381</a>     <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classPHashTable.html#l0">Table</a>;00382 00383 <a name="l00384"></a><a class="code" href="classPHashTable.html#n0">00384</a>     <a class="code" href="classPHashTable.html#l0">Table</a> * <a class="code" href="classPHashTable.html#n0">hashTable</a>;00385 };00386 00387 00389 <a name="l00392"></a><a class="code" href="classPAbstractSet.html">00392</a> <span class="keyword">class </span><a class="code" href="classPAbstractSet.html">PAbstractSet</a> : <span class="keyword">public</span> <a class="code" href="classPHashTable.html">PHashTable</a>00393 {00394   <a class="code" href="contain_8h.html#a0">PCONTAINERINFO</a>(<a class="code" href="classPAbstractSet.html">PAbstractSet</a>, <a class="code" href="classPHashTable.html">PHashTable</a>);00395   <span class="keyword">public</span>:00403     <a class="code" href="object_8h.html#a2">PINLINE</a> <a class="code" href="classPAbstractSet.html#z95_0">PAbstractSet</a>();00405 00416     <span class="keyword">virtual</span> PINDEX <a class="code" href="classPAbstractSet.html#z97_0">Append</a>(00417       <a class="code" href="classPObject.html">PObject</a> * obj   00418     );00419 00432     <span class="keyword">virtual</span> PINDEX <a class="code" href="classPAbstractSet.html#z97_1">Insert</a>(00433       <span class="keyword">const</span> <a class="code" href="classPObject.html">PObject</a> &amp; before,   00434       <a class="code" href="classPObject.html">PObject</a> * obj             00435     );00436 00449     <span class="keyword">virtual</span> PINDEX <a class="code" href="classPAbstractSet.html#z97_2">InsertAt</a>(00450       PINDEX index,   00451       <a class="code" href="classPObject.html">PObject</a> * obj   00452     );00453 00464     <span class="keyword">virtual</span> BOOL <a class="code" href="classPAbstractSet.html#z97_3">Remove</a>(00465       <span class="keyword">const</span> <a class="code" href="classPObject.html">PObject</a> * obj   00466     );00467 00474     <span class="keyword">virtual</span> <a class="code" href="classPObject.html">PObject</a> * <a class="code" href="classPAbstractSet.html#z97_4">RemoveAt</a>(00475       PINDEX index   00476     );00477 00483     <span class="keyword">virtual</span> <a class="code" href="classPObject.html">PObject</a> * <a class="code" href="classPAbstractSet.html#z97_5">GetAt</a>(00484       PINDEX index  00485     ) <span class="keyword">const</span>;00486 00499     <span class="keyword">virtual</span> BOOL <a class="code" href="classPAbstractSet.html#z97_6">SetAt</a>(00500       PINDEX index,   00501       <a class="code" href="classPObject.html">PObject</a> * val   00502     );00503 00515     <span class="keyword">virtual</span> PINDEX <a class="code" href="classPAbstractSet.html#z97_7">GetObjectsIndex</a>(00516       <span class="keyword">const</span> <a class="code" href="classPObject.html">PObject</a> * obj   00517     ) <span class="keyword">const</span>;00518 00527     <span class="keyword">virtual</span> PINDEX <a class="code" href="classPAbstractSet.html#z97_8">GetValuesIndex</a>(00528       <span class="keyword">const</span> <a class="code" href="classPObject.html">PObject</a> &amp; obj   00529     ) <span class="keyword">const</span>;00531 };00532 00533 00534 <span class="preprocessor">#ifdef PHAS_TEMPLATES</span>00535 <span class="preprocessor"></span>00546 <span class="keyword">template</span> &lt;<span class="keyword">class</span> T&gt; <span class="keyword">class </span>PSet : <span class="keyword">public</span> <a class="code" href="classPAbstractSet.html">PAbstractSet</a>00547 {00548   <a class="code" href="object_8h.html#a27">PCLASSINFO</a>(PSet, <a class="code" href="classPAbstractSet.html">PAbstractSet</a>);00549 00550   <span class="keyword">public</span>:00560     <span class="keyword">inline</span> PSet(BOOL initialDeleteObjects = FALSE)00561       : <a class="code" href="classPAbstractSet.html">PAbstractSet</a>() { <a class="code" href="classPCollection.html#z75_10">AllowDeleteObjects</a>(initialDeleteObjects); }00563 00569     <span class="keyword">virtual</span> <a class="code" href="classPObject.html">PObject</a> * <a class="code" href="classPObject.html#z203_0">Clone</a>()<span class="keyword"> const</span>00570 <span class="keyword">      </span>{ <span class="keywordflow">return</span> <a class="code" href="object_8h.html#a18">PNEW</a> PSet(0, <span class="keyword">this</span>); }00572 00584     <span class="keywordtype">void</span> Include(00585       <span class="keyword">const</span> T * obj   <span class="comment">// New object to include in the set.</span>00586     ) { <a class="code" href="classPAbstractSet.html#z97_0">Append</a>((<a class="code" href="classPObject.html">PObject</a> *)obj); }00587 00595     PSet &amp; operator+=(00596       <span class="keyword">const</span> T &amp; obj   <span class="comment">// New object to include in the set.</span>00597     ) { <a class="code" href="classPAbstractSet.html#z97_0">Append</a>(obj.Clone()); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }00598 00606     <span class="keywordtype">void</span> Exclude(00607       <span class="keyword">const</span> T * obj   <span class="comment">// New object to exclude in the set.</span>00608     ) { <a class="code" href="classPAbstractSet.html#z97_3">Remove</a>(obj); }00609 00617     PSet &amp; operator-=(00618       <span class="keyword">const</span> T &amp; obj   <span class="comment">// New object to exclude in the set.</span>00619     ) { <a class="code" href="classPAbstractSet.html#z97_4">RemoveAt</a>(<a class="code" href="classPAbstractSet.html#z97_8">GetValuesIndex</a>(obj)); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }00620 00629     BOOL Contains(00630       <span class="keyword">const</span> T &amp; key  00631     )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classPHashTable.html#z93_0">AbstractContains</a>(key); }00632 00641     BOOL operator[](00642       <span class="keyword">const</span> T &amp; key  00643     )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classPHashTable.html#z93_0">AbstractContains</a>(key); }00644 00656     <span class="keyword">virtual</span> <span class="keyword">const</span> T &amp; GetKeyAt(00657       PINDEX index    00658     )<span class="keyword"> const</span>00659 <span class="keyword">      </span>{ <span class="keywordflow">return</span> (<span class="keyword">const</span> T &amp;)<a class="code" href="classPHashTable.html#z93_1">AbstractGetKeyAt</a>(index); }00661 00662 00663   <span class="keyword">protected</span>:00664     PSet(<span class="keywordtype">int</span> dummy, <span class="keyword">const</span> PSet * c)00665       : <a class="code" href="classPAbstractSet.html">PAbstractSet</a>(dummy, c)00666       { reference-&gt;deleteObjects = c-&gt;reference-&gt;deleteObjects; }00667 };00668 00669 00681 <span class="preprocessor">#define PSET(cls, T) typedef PSet&lt;T&gt; cls</span>00682 <span class="preprocessor"></span>00683 00695 <span class="preprocessor">#define PDECLARE_SET(cls, T, initDelObj) \</span>00696 <span class="preprocessor">  PSET(cls##_PTemplate, T); \</span>00697 <span class="preprocessor">  PDECLARE_CLASS(cls, cls##_PTemplate) \</span>00698 <span class="preprocessor">  protected: \</span>00699 <span class="preprocessor">    cls(int dummy, const cls * c) \</span>00700 <span class="preprocessor">      : cls##_PTemplate(dummy, c) { } \</span>

⌨️ 快捷键说明

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