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

📄 fg__list_8h-source.html

📁 《道法自然》书的源码FishGUI,一个跨平台的界面库
💻 HTML
📖 第 1 页 / 共 4 页
字号:
00221 00222 <span class="comment">//##ModelId=3FD88506029F</span>00227 <span class="comment"></span><span class="keyword">template</span> &lt;<span class="keyword">class</span> ITEM&gt;<a name="l00228"></a><a class="code" href="classFG__BackIterator.html">00228</a> <span class="keyword">class </span><a class="code" href="classFG__BackIterator.html">FG_BackIterator</a>00229 {00230 <span class="keyword">public</span>:00231     <span class="comment">//##ModelId=3FD8850602D2</span><a name="l00233"></a><a class="code" href="classFG__BackIterator.html#w0">00233</a> <span class="comment"></span>    <span class="keyword">typedef</span> <a class="code" href="structFG__BList__Node.html">FG_BList_Node&lt;ITEM&gt;</a> <a class="code" href="structFG__BList__Node.html">node</a>;00234 00235     <span class="comment">//##ModelId=3FD885070228</span><a name="l00237"></a><a class="code" href="classFG__BackIterator.html#a0">00237</a> <span class="comment"></span>    <a class="code" href="classFG__BackIterator.html#a0">FG_BackIterator</a>() : m_pNode(<a class="code" href="group__Utility.html#ga11">NULL</a>) {}00238 00239     <span class="comment">//##ModelId=3FD885070232</span><a name="l00244"></a><a class="code" href="classFG__BackIterator.html#a1">00244</a> <span class="comment"></span>    <a class="code" href="classFG__BackIterator.html#a0">FG_BackIterator</a>(<a class="code" href="structFG__BList__Node.html">node</a> * <span class="keyword">const</span> pNode) : m_pNode(pNode) {}00245 00246     <span class="comment">//##ModelId=3FD88507023C</span><a name="l00252"></a><a class="code" href="classFG__BackIterator.html#a2">00252</a> <span class="comment"></span>    ITEM &amp; <a class="code" href="classFG__BackIterator.html#a2">operator*</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> * (m_pNode-&gt;<a class="code" href="structFG__BList__Node.html#o0">m_pItem</a>); }00253 00254     <span class="comment">//##ModelId=3FD885070246</span><a name="l00260"></a><a class="code" href="classFG__BackIterator.html#a3">00260</a> <span class="comment"></span>    ITEM * <a class="code" href="classFG__BackIterator.html#a3">operator-&gt;</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> m_pNode-&gt;<a class="code" href="structFG__BList__Node.html#o0">m_pItem</a>; }00261 00262     <span class="comment">//##ModelId=3FD885070250</span><a name="l00268"></a><a class="code" href="classFG__BackIterator.html#a4">00268</a> <span class="comment"></span>    <a class="code" href="classFG__BackIterator.html#a4">operator ITEM *</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> m_pNode-&gt;<a class="code" href="structFG__BList__Node.html#o0">m_pItem</a>; }00269 00270     <span class="comment">//##ModelId=3FD885070251</span><a name="l00276"></a><a class="code" href="classFG__BackIterator.html#a5">00276</a> <span class="comment"></span>    <span class="keywordtype">bool</span> <a class="code" href="classFG__BackIterator.html#a5">IsDone</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> ! m_pNode; }00277 00278     <span class="comment">//##ModelId=3FD88507025A</span><a name="l00284"></a><a class="code" href="classFG__BackIterator.html#a6">00284</a> <span class="comment"></span>    <a class="code" href="classFG__BackIterator.html">FG_BackIterator</a> &amp; <a class="code" href="classFG__BackIterator.html#a6">operator++</a>()00285     {00286         <span class="keywordflow">if</span> (m_pNode)00287             m_pNode = m_pNode-&gt;<a class="code" href="structFG__BList__Node.html#o1">m_pPrev</a>;00288         <span class="keywordflow">return</span> * <span class="keyword">this</span>;00289     }00290 00291     <span class="comment">//##ModelId=3FD885070264</span><a name="l00297"></a><a class="code" href="classFG__BackIterator.html#a7">00297</a> <span class="comment"></span>    <span class="keyword">const</span> <a class="code" href="classFG__BackIterator.html">FG_BackIterator</a> <a class="code" href="classFG__BackIterator.html#a6">operator++</a>(<span class="keywordtype">int</span>)00298     {00299         <a class="code" href="classFG__BackIterator.html">FG_BackIterator</a> tmp = * <span class="keyword">this</span>;00300         <span class="keywordflow">if</span> (m_pNode) m_pNode = m_pNode-&gt;<a class="code" href="structFG__BList__Node.html#o1">m_pPrev</a>;00301         <span class="keywordflow">return</span> tmp;00302     }00303 00304     <span class="comment">//##ModelId=3FD88507026F</span><a name="l00311"></a><a class="code" href="classFG__BackIterator.html#a8">00311</a> <span class="comment"></span>    <span class="keywordtype">bool</span> <a class="code" href="classFG__BackIterator.html#a8">operator==</a>(<span class="keyword">const</span> <a class="code" href="classFG__BackIterator.html">FG_BackIterator</a> &amp; i)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> m_pNode == i.<a class="code" href="classFG__BackIterator.html#r0">m_pNode</a>; }00312 00313     <span class="comment">//##ModelId=3FD885070282</span><a name="l00320"></a><a class="code" href="classFG__BackIterator.html#a9">00320</a> <span class="comment"></span>    <span class="keywordtype">bool</span> <a class="code" href="classFG__BackIterator.html#a9">operator!=</a>(<span class="keyword">const</span> <a class="code" href="classFG__BackIterator.html">FG_BackIterator</a> &amp; i)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> m_pNode != i.<a class="code" href="classFG__BackIterator.html#r0">m_pNode</a>; }00321 00322     <span class="comment">//##ModelId=3FD885070296</span><a name="l00329"></a><a class="code" href="classFG__BackIterator.html#a10">00329</a> <span class="comment"></span>    <span class="keywordtype">bool</span> <a class="code" href="classFG__BackIterator.html#a8">operator==</a>(ITEM * <span class="keyword">const</span> p)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> m_pNode-&gt;<a class="code" href="structFG__BList__Node.html#o0">m_pItem</a> == p; }00330 00331     <span class="comment">//##ModelId=3FD8850702A1</span><a name="l00338"></a><a class="code" href="classFG__BackIterator.html#a11">00338</a> <span class="comment"></span>    <span class="keywordtype">bool</span> <a class="code" href="classFG__BackIterator.html#a9">operator!=</a>(ITEM * <span class="keyword">const</span> p)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> m_pNode-&gt;<a class="code" href="structFG__BList__Node.html#o0">m_pItem</a> != p; }00339 00340 <span class="keyword">private</span>:00341     <span class="comment">//##ModelId=3FD885070215</span><a name="l00342"></a><a class="code" href="classFG__BackIterator.html#r0">00342</a>     <a class="code" href="structFG__BList__Node.html">node</a> * m_pNode;                 00343 };00344 00345 <span class="comment">//##ModelId=3FD885060385</span>00352 <span class="comment"></span><span class="keyword">template</span> &lt;<span class="keyword">class</span> ITEM&gt;<a name="l00353"></a><a class="code" href="classFG__LoopIterator.html">00353</a> <span class="keyword">class </span><a class="code" href="classFG__LoopIterator.html">FG_LoopIterator</a>00354 {00355 <span class="keyword">public</span>:00356     <span class="comment">//##ModelId=3FD88508011B</span><a name="l00362"></a><a class="code" href="classFG__LoopIterator.html#a0">00362</a> <span class="comment"></span>    <a class="code" href="classFG__LoopIterator.html#a0">FG_LoopIterator</a>(<a class="code" href="structFG__BList__Node.html">FG_BList_Node&lt;ITEM&gt;</a> * <span class="keyword">const</span> pFirst, ITEM * <span class="keyword">const</span> pStart)00363         : <a class="code" href="classFG__LoopIterator.html#p0">m_pFirst</a>(pFirst), <a class="code" href="classFG__LoopIterator.html#p2">m_pStart</a>(pStart), <a class="code" href="classFG__LoopIterator.html#p3">m_IsDone</a>(false)00364     {00365         m_pNode = <a class="code" href="classFG__LoopIterator.html#p0">m_pFirst</a>;00366         <span class="keywordflow">while</span> (m_pNode &amp;&amp; m_pNode-&gt;m_pItem != <a class="code" href="classFG__LoopIterator.html#p2">m_pStart</a>) m_pNode = m_pNode-&gt;m_pNext;00367         <span class="keywordflow">if</span> (! m_pNode)00368             <a class="code" href="classFG__LoopIterator.html#p3">m_IsDone</a> = <span class="keyword">true</span>;00369         <span class="keywordflow">else</span>00370         {00371             m_pNode = m_pNode-&gt;m_pNext;00372             <span class="keywordflow">if</span> (! m_pNode)00373                 m_pNode = m_pFirst;00374         }00375     }00376 00377     <span class="comment">//##ModelId=3FD88508012F</span><a name="l00383"></a><a class="code" href="classFG__LoopIterator.html#a1">00383</a> <span class="comment"></span>    ITEM &amp; <a class="code" href="classFG__LoopIterator.html#a1">operator*</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> * (m_pNode-&gt;m_pItem); }00384     00385     <span class="comment">//##ModelId=3FD885080139</span><a name="l00391"></a><a class="code" href="classFG__LoopIterator.html#a2">00391</a> <span class="comment"></span>    ITEM * <a class="code" href="classFG__LoopIterator.html#a2">operator-&gt;</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> m_pNode-&gt;m_pItem; }00392 00393     <span class="comment">//##ModelId=3FD885080143</span><a name="l00399"></a><a class="code" href="classFG__LoopIterator.html#a3">00399</a> <span class="comment"></span>    <a class="code" href="classFG__LoopIterator.html#a3">operator ITEM *</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> m_pNode-&gt;m_pItem; }00400 00401     <span class="comment">//##ModelId=3FD88508014D</span><a name="l00407"></a><a class="code" href="classFG__LoopIterator.html#a4">00407</a> <span class="comment"></span>    <span class="keywordtype">bool</span> <a class="code" href="classFG__LoopIterator.html#a4">IsDone</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classFG__LoopIterator.html#p3">m_IsDone</a>; }00408 00409     <span class="comment">//##ModelId=3FD88508014E</span><a name="l00415"></a><a class="code" href="classFG__LoopIterator.html#a5">00415</a> <span class="comment"></span>    <a class="code" href="classFG__LoopIterator.html">FG_LoopIterator</a> &amp; <a class="code" href="classFG__LoopIterator.html#a5">operator++</a>()00416     {00417         <span class="keywordflow">if</span> (! <a class="code" href="classFG__LoopIterator.html#p3">m_IsDone</a>)00418         {00419             m_pNode = m_pNode-&gt;m_pNext;00420             <span class="keywordflow">if</span> (! m_pNode)00421                 m_pNode = <a class="code" href="classFG__LoopIterator.html#p0">m_pFirst</a>;00422             <span class="keywordflow">if</span> ((m_pNode-&gt;m_pNext &amp;&amp; m_pNode-&gt;m_pNext-&gt;m_pItem == <a class="code" href="classFG__LoopIterator.html#p2">m_pStart</a>) ||00423                 (! m_pNode-&gt;m_pNext &amp;&amp; m_pFirst-&gt;m_pItem == <a class="code" href="classFG__LoopIterator.html#p2">m_pStart</a>))00424                 <a class="code" href="classFG__LoopIterator.html#p3">m_IsDone</a> = <span class="keyword">true</span>;00425         }00426         <span class="keywordflow">return</span> * <span class="keyword">this</span>;00427     }00428 00429     <span class="comment">//##ModelId=3FD885080157</span><a name="l00435"></a><a class="code" href="classFG__LoopIterator.html#a6">00435</a> <span class="comment"></span>    <span class="keyword">const</span> <a class="code" href="classFG__LoopIterator.html">FG_LoopIterator</a> <a class="code" href="classFG__LoopIterator.html#a5">operator++</a>(<span class="keywordtype">int</span>)00436     {00437         <a class="code" href="classFG__LoopIterator.html">FG_LoopIterator</a> tmp = * <span class="keyword">this</span>;00438         <span class="keywordflow">if</span> (! <a class="code" href="classFG__LoopIterator.html#p3">m_IsDone</a>)00439         {00440             m_pNode = m_pNode-&gt;m_pNext;00441             <span class="keywordflow">if</span> (! m_pNode)00442                 m_pNode = <a class="code" href="classFG__LoopIterator.html#p0">m_pFirst</a>;00443             <span class="keywordflow">if</span> ((m_pNode-&gt;m_pNext &amp;&amp; m_pNode-&gt;m_pNext-&gt;m_pItem == <a class="code" href="classFG__LoopIterator.html#p2">m_pStart</a>) ||00444                 (! m_pNode-&gt;m_pNext &amp;&amp; m_pFirst-&gt;m_pItem == <a class="code" href="classFG__LoopIterator.html#p2">m_pStart</a>))00445                 <a class="code" href="classFG__LoopIterator.html#p3">m_IsDone</a> = <span class="keyword">true</span>;00446         }00447         <span class="keywordflow">return</span> tmp;00448     }00449 00450     <span class="comment">//##ModelId=3FD88508016B</span><a name="l00457"></a><a class="code" href="classFG__LoopIterator.html#a7">00457</a> <span class="comment"></span>    <span class="keywordtype">bool</span> <a class="code" href="classFG__LoopIterator.html#a7">operator==</a>(<span class="keyword">const</span> <a class="code" href="classFG__LoopIterator.html">FG_LoopIterator</a> &amp; i)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> m_pNode == i.<a class="code" href="classFG__LoopIterator.html#p1">m_pNode</a>; }00458 00459     <span class="comment">//##ModelId=3FD88508017F</span>

⌨️ 快捷键说明

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