📄 fg__list_8h-source.html
字号:
00221 00222 <span class="comment">//##ModelId=3FD88506029F</span>00227 <span class="comment"></span><span class="keyword">template</span> <<span class="keyword">class</span> ITEM><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<ITEM></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 & <a class="code" href="classFG__BackIterator.html#a2">operator*</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> * (m_pNode-><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-></a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> m_pNode-><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-><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> & <a class="code" href="classFG__BackIterator.html#a6">operator++</a>()00285 {00286 <span class="keywordflow">if</span> (m_pNode)00287 m_pNode = m_pNode-><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-><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> & 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> & 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-><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-><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> <<span class="keyword">class</span> ITEM><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<ITEM></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 && m_pNode->m_pItem != <a class="code" href="classFG__LoopIterator.html#p2">m_pStart</a>) m_pNode = m_pNode->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->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 & <a class="code" href="classFG__LoopIterator.html#a1">operator*</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> * (m_pNode->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-></a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> m_pNode->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->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> & <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->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->m_pNext && m_pNode->m_pNext->m_pItem == <a class="code" href="classFG__LoopIterator.html#p2">m_pStart</a>) ||00423 (! m_pNode->m_pNext && m_pFirst->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->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->m_pNext && m_pNode->m_pNext->m_pItem == <a class="code" href="classFG__LoopIterator.html#p2">m_pStart</a>) ||00444 (! m_pNode->m_pNext && m_pFirst->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> & 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 + -