#include <IntrusiveDList.h>
Inheritance diagram for IntrusiveDListNode:
Public Member Functions | |
IntrusiveDListNode () | |
IntrusiveDListNode * | getNext () const |
IntrusiveDListNode * | getPrev () const |
void | detach () |
void | insertBefore (IntrusiveDListNode &newNext) |
void | insertAfter (IntrusiveDListNode &newPrev) |
Private Attributes | |
IntrusiveDListNode * | pPrev |
IntrusiveDListNode * | pNext |
Definition at line 34 of file IntrusiveDList.h.
IntrusiveDListNode::IntrusiveDListNode | ( | ) | [inline, explicit] |
IntrusiveDListNode* IntrusiveDListNode::getNext | ( | ) | const [inline] |
Definition at line 45 of file IntrusiveDList.h.
Referenced by TwoQPageQueue::moveToTail(), TwoQPageQueue::remove(), and TwoQPageQueue::validateQueue().
00046 { 00047 return pNext; 00048 }
IntrusiveDListNode* IntrusiveDListNode::getPrev | ( | ) | const [inline] |
Definition at line 50 of file IntrusiveDList.h.
Referenced by TwoQPageQueue::moveToHead(), TwoQPageQueue::remove(), and TwoQPageQueue::validateQueue().
00051 { 00052 return pPrev; 00053 }
void IntrusiveDListNode::detach | ( | ) | [inline] |
Definition at line 55 of file IntrusiveDList.h.
Referenced by TwoQPageQueue::moveToHead(), TwoQPageQueue::moveToTail(), and TwoQPageQueue::remove().
00056 { 00057 if (pNext) { 00058 pNext->pPrev = pPrev; 00059 } 00060 if (pPrev) { 00061 pPrev->pNext = pNext; 00062 } 00063 pPrev = pNext = NULL; 00064 }
void IntrusiveDListNode::insertBefore | ( | IntrusiveDListNode & | newNext | ) | [inline] |
Definition at line 66 of file IntrusiveDList.h.
Referenced by TwoQPageQueue::insertAtHead(), and TwoQPageQueue::moveToHead().
00067 { 00068 pNext = &newNext; 00069 pPrev = pNext->pPrev; 00070 pNext->pPrev = this; 00071 if (pPrev) { 00072 pPrev->pNext = this; 00073 } 00074 }
void IntrusiveDListNode::insertAfter | ( | IntrusiveDListNode & | newPrev | ) | [inline] |
Definition at line 76 of file IntrusiveDList.h.
Referenced by TwoQPageQueue::insertAtTail(), and TwoQPageQueue::moveToTail().
00077 { 00078 pPrev = &newPrev; 00079 pNext = pPrev->pNext; 00080 pPrev->pNext = this; 00081 if (pNext) { 00082 pNext->pPrev = this; 00083 } 00084 }
IntrusiveDListNode* IntrusiveDListNode::pPrev [private] |
IntrusiveDListNode* IntrusiveDListNode::pNext [private] |