1#ifndef RESIP_IntrusiveListElement
2#define RESIP_IntrusiveListElement
79 elem->IntrusiveListElement<P>
::mPrev = elem;
80 elem->IntrusiveListElement<P>
::mNext = elem;
110 mPos = mPos->IntrusiveListElement<P>
::mNext;
116 return lhs.mPos == rhs.mPos;
121 return lhs.mPos != rhs.mPos;
144 return iterator(
static_cast<P
>(
this));
216 elem->IntrusiveListElement1<P>
::mPrev = elem;
217 elem->IntrusiveListElement1<P>
::mNext = elem;
247 mPos = mPos->IntrusiveListElement1<P>
::mNext;
253 return lhs.mPos == rhs.mPos;
258 return lhs.mPos != rhs.mPos;
281 return iterator(
static_cast<P
>(
this));
293 elem->IntrusiveListElement1<
P>
::mPrev =
static_cast<P>(
this);
306 elem->IntrusiveListElement1<
P>
::mNext =
static_cast<P>(
this);
353 elem->IntrusiveListElement2<P>
::mPrev = elem;
354 elem->IntrusiveListElement2<P>
::mNext = elem;
384 mPos = mPos->IntrusiveListElement2<P>
::mNext;
390 return lhs.mPos == rhs.mPos;
395 return lhs.mPos != rhs.mPos;
418 return iterator(
static_cast<P
>(
this));
430 elem->IntrusiveListElement2<
P>
::mPrev =
static_cast<P>(
this);
443 elem->IntrusiveListElement2<
P>
::mNext =
static_cast<P>(
this);
490 elem->IntrusiveListElement3<P>
::mPrev = elem;
491 elem->IntrusiveListElement3<P>
::mNext = elem;
521 mPos = mPos->IntrusiveListElement3<P>
::mNext;
527 return lhs.mPos == rhs.mPos;
532 return lhs.mPos != rhs.mPos;
555 return iterator(
static_cast<P
>(
this));
567 elem->IntrusiveListElement3<
P>
::mPrev =
static_cast<P>(
this);
580 elem->IntrusiveListElement3<
P>
::mNext =
static_cast<P>(
this);
#define resip_assert(x)
This file needs to work for both C and C++ code.
friend bool operator==(const iterator &lhs, const iterator &rhs)
iterator & operator=(const iterator &rhs)
friend bool operator!=(const iterator &lhs, const iterator &rhs)
virtual ~IntrusiveListElement1()
static P makeList(P elem)
friend bool operator==(const iterator &lhs, const iterator &rhs)
iterator & operator=(const iterator &rhs)
friend bool operator!=(const iterator &lhs, const iterator &rhs)
virtual ~IntrusiveListElement2()
static P makeList(P elem)
friend bool operator==(const iterator &lhs, const iterator &rhs)
iterator & operator=(const iterator &rhs)
friend bool operator!=(const iterator &lhs, const iterator &rhs)
virtual ~IntrusiveListElement3()
static P makeList(P elem)
friend bool operator==(const iterator &lhs, const iterator &rhs)
iterator & operator=(const iterator &rhs)
friend bool operator!=(const iterator &lhs, const iterator &rhs)
virtual ~IntrusiveListElement()
static P makeList(P elem)
dcm! – add UnusedChecking(_enum) below;