Fennel: IntrusiveTwoDListIter< ElementT, ReturnT > Class Template Reference (original) (raw)
Iterator over two intrusive doubly-linked lists. More...
#include <[IntrusiveDList.h](IntrusiveDList%5F8h-source.html)>
| 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:
- /home/pub/open/dev/fennel/common/IntrusiveDList.h
