Fennel: IntrusiveTwoDListIter< ElementT, ReturnT > Class Template Reference (original) (raw)

Iterator over two intrusive doubly-linked lists. More...

#include <[IntrusiveDList.h](IntrusiveDList%5F8h-source.html)>

List of all members.

Public Member Functions
IntrusiveTwoDListIter ()
IntrusiveTwoDListIter (ElementT *list1, ElementT *list2)
virtual ~IntrusiveTwoDListIter ()
void operator++ ()
ReturnT * operator-> () const
operator ReturnT * () const
ReturnT & operator * () const
bool operator== (IntrusiveTwoDListIter const &other) const
Protected Member Functions
virtual ReturnT * getReturnElement (ElementT *element) const=0
Returns a pointer to the return element corresponding to the element that the iterator is currently positioned at.
Private Attributes
ElementT * curr
Pointer to the current list element.
ElementT * next
Pointer to the start of the second list.
bool processingNext
True if the first list has been walked.

Detailed Description

template<class ElementT, class ReturnT>

class IntrusiveTwoDListIter< ElementT, ReturnT >

Iterator over two intrusive doubly-linked lists.

The first list is walked followed by the second list. The lists can only be walked over in the forward direction.

Elements in both lists are all of the same type. A callback method must be defined that determines what should be returned for each element in the lists.

Definition at line 153 of file IntrusiveDList.h.


Constructor & Destructor Documentation


Member Function Documentation

template<class ElementT, class ReturnT>

virtual ReturnT* IntrusiveTwoDListIter< ElementT, ReturnT >::getReturnElement ( ElementT * element ) const [protected, pure virtual]

template<class ElementT, class ReturnT>

| void IntrusiveTwoDListIter< ElementT, ReturnT >::operator++ | ( | | ) | [inline] | | ---------------------------------------------------------------------------------------------- | - | | - | ---------- |

template<class ElementT, class ReturnT>

| ReturnT* IntrusiveTwoDListIter< ElementT, ReturnT >::operator-> | ( | | ) | const [inline] | | --------------------------------------------------------------------------------------------------- | - | | - | ---------------- |

template<class ElementT, class ReturnT>

| IntrusiveTwoDListIter< ElementT, ReturnT >::operator ReturnT * | ( | | ) | const [inline] | | -------------------------------------------------------------------------------------------------- | - | | - | ---------------- |

template<class ElementT, class ReturnT>

| ReturnT& IntrusiveTwoDListIter< ElementT, ReturnT >::operator * | ( | | ) | const [inline] | | --------------------------------------------------------------------------------------------------- | - | | - | ---------------- |


Member Data Documentation

template<class ElementT, class ReturnT>

Pointer to the current list element.

Definition at line 158 of file IntrusiveDList.h.

Referenced by IntrusiveTwoDListIter< TwoQDirtyPage, PageT >::IntrusiveTwoDListIter(), IntrusiveTwoDListIter< TwoQDirtyPage, PageT >::operator *(), IntrusiveTwoDListIter< ElementT, ReturnT >::operator ReturnT *(), IntrusiveTwoDListIter< TwoQDirtyPage, PageT >::operator++(), IntrusiveTwoDListIter< TwoQDirtyPage, PageT >::operator->(), and IntrusiveTwoDListIter< TwoQDirtyPage, PageT >::operator==().

template<class ElementT, class ReturnT>

template<class ElementT, class ReturnT>


The documentation for this class was generated from the following file:


Generated on Mon Jun 22 04:00:33 2009 for Fennel by doxygen 1.5.1