TwoQPageListIter< PageT > Class Template Reference

TwoQPageListIter iterates over queues containing pages. More...

#include <TwoQVictimPolicy.h>

Inheritance diagram for TwoQPageListIter< PageT >:

IntrusiveTwoDListIter< PageT, PageT > List of all members.

Public Member Functions

 TwoQPageListIter ()
 TwoQPageListIter (PageT *list1, PageT *list2)
 ~TwoQPageListIter ()
void operator++ ()
PageT * operator-> () const
 operator PageT * () const
PageT & operator * () const
bool operator== (IntrusiveTwoDListIter const &other) const

Private Member Functions

virtual PageT * getReturnElement (PageT *page) const
 
Returns:
the page itself


Detailed Description

template<class PageT>
class TwoQPageListIter< PageT >

TwoQPageListIter iterates over queues containing pages.

Definition at line 363 of file TwoQVictimPolicy.h.


Constructor & Destructor Documentation

template<class PageT>
TwoQPageListIter< PageT >::TwoQPageListIter (  )  [inline]

Definition at line 374 of file TwoQVictimPolicy.h.

00375         : IntrusiveTwoDListIter<PageT, PageT>()
00376     {
00377     }

template<class PageT>
TwoQPageListIter< PageT >::TwoQPageListIter ( PageT *  list1,
PageT *  list2 
) [inline]

Definition at line 379 of file TwoQVictimPolicy.h.

00380         : IntrusiveTwoDListIter<PageT, PageT>(list1, list2)
00381     {
00382     }

template<class PageT>
TwoQPageListIter< PageT >::~TwoQPageListIter (  )  [inline]

Definition at line 384 of file TwoQVictimPolicy.h.

00385     {
00386     }


Member Function Documentation

template<class PageT>
virtual PageT* TwoQPageListIter< PageT >::getReturnElement ( PageT *  page  )  const [inline, private, virtual]

Returns:
the page itself

Implements IntrusiveTwoDListIter< PageT, PageT >.

Definition at line 368 of file TwoQVictimPolicy.h.

00369     {
00370         return page;
00371     }

void IntrusiveTwoDListIter< PageT , PageT >::operator++ (  )  [inline, inherited]

Definition at line 207 of file IntrusiveDList.h.

00208     {
00209         curr = static_cast<ElementT *>(curr->getNext());
00210         if (curr == NULL && !processingNext) {
00211             curr = next;
00212             processingNext = true;
00213         }
00214     }

PageT * IntrusiveTwoDListIter< PageT , PageT >::operator-> (  )  const [inline, inherited]

Definition at line 216 of file IntrusiveDList.h.

00217     {
00218         return getReturnElement(curr);
00219     }

IntrusiveTwoDListIter< PageT , PageT >::operator PageT * (  )  const [inline, inherited]

Definition at line 221 of file IntrusiveDList.h.

00222     {
00223         return getReturnElement(curr);
00224     }

PageT & IntrusiveTwoDListIter< PageT , PageT >::operator * (  )  const [inline, inherited]

Definition at line 226 of file IntrusiveDList.h.

00227     {
00228         return *(getReturnElement(curr));
00229     }

bool IntrusiveTwoDListIter< PageT , PageT >::operator== ( IntrusiveTwoDListIter< PageT, PageT > const &  other  )  const [inline, inherited]

Definition at line 231 of file IntrusiveDList.h.

00232     {
00233         return curr == other.curr;
00234     }


The documentation for this class was generated from the following file:
Generated on Mon Jun 22 04:00:48 2009 for Fennel by  doxygen 1.5.1