83 template<
class T,
class TAlloc = XnLinkedNodeDefaultAllocatorT<T> >
268 for (ConstIterator it = other.
Begin(); it != other.
End(); ++it)
295 return ConstIterator(const_cast<LinkedNode*>(
m_anchor.
pNext));
311 return ConstIterator(const_cast<LinkedNode*>(&
m_anchor));
327 return ConstIterator(const_cast<LinkedNode*>(
m_anchor.
pPrev));
343 return ConstIterator(const_cast<LinkedNode*>(&
m_anchor));
359 return XN_STATUS_ILLEGAL_POSITION;
378 return XN_STATUS_ILLEGAL_POSITION;
381 return InsertAfter(where.m_pCurrent->pPrev, value);
415 ConstIterator
Find(T
const& value)
const
417 ConstIterator iter =
Begin();
418 for (; iter !=
End(); ++iter)
435 ConstIterator iter =
const_cast<const XnListT<T>*
>(
this)->
Find(value);
436 return Iterator(iter.m_pCurrent);
451 return XN_STATUS_ILLEGAL_POSITION;
463 TAlloc::Deallocate(pToRemove);
477 ConstIterator it =
Find(value);
484 return XN_STATUS_NO_MATCH;
523 XN_ASSERT(pArray != NULL);
526 for (ConstIterator iter =
Begin(); iter !=
End(); ++iter, ++i)
545 if (pNewNode == NULL)
548 return XN_STATUS_ALLOC_FAILED;
550 pNewNode->
pPrev = pAfter;
555 pAfter->
pNext = pNewNode;
576 #endif // _XNLISTT_H_
XnStatus InsertAfter(LinkedNode *pAfter, T const &val)
Definition: XnListT.h:541
ConstIterator Find(T const &value) const
Definition: XnListT.h:415
Iterator(const Iterator &other)
Definition: XnListT.h:194
void CopyTo(T *pArray) const
Definition: XnListT.h:521
XnBool IsEmpty() const
Definition: XnListT.h:502
struct XnLinkedNodeT< T > * pPrev
Definition: XnListT.h:46
struct XnLinkedNodeT< T > * pNext
Definition: XnListT.h:47
ConstIterator ReverseBegin() const
Definition: XnListT.h:325
XnUInt32 Size() const
Definition: XnListT.h:510
Iterator & operator++()
Definition: XnListT.h:199
XnListT(const XnListT &other)
Definition: XnListT.h:256
XnStatus AddBefore(ConstIterator where, T const &value)
Definition: XnListT.h:374
#define XN_STATUS_OK
Definition: XnStatus.h:36
ConstIterator operator--(int)
Definition: XnListT.h:134
T const & operator*() const
Definition: XnListT.h:164
LinkedNode m_anchor
Definition: XnListT.h:563
ConstIterator(const ConstIterator &other)
Definition: XnListT.h:101
Iterator ReverseBegin()
Definition: XnListT.h:317
Iterator Find(T const &value)
Definition: XnListT.h:433
XnStatus Remove(T const &value)
Definition: XnListT.h:475
Iterator operator--(int)
Definition: XnListT.h:226
T * operator->() const
Definition: XnListT.h:244
XnUInt32 XnStatus
Definition: XnStatus.h:33
XnBool operator!=(const ConstIterator &other) const
Definition: XnListT.h:156
XnLinkedNodeT< T > LinkedNode
Definition: XnListT.h:63
T TValue
Definition: XnListT.h:88
XnUInt32 m_nSize
Definition: XnListT.h:565
XnLinkedNodeT(T const &value)
Definition: XnListT.h:44
XnStatus AddFirst(T const &value)
Definition: XnListT.h:391
XnStatus AddAfter(ConstIterator where, T const &value)
Definition: XnListT.h:355
#define XN_NEW(type,...)
Definition: XnOS.h:329
static LinkedNode * Allocate(T const &value)
Definition: XnListT.h:65
ConstIterator ReverseEnd() const
Definition: XnListT.h:341
XnLinkedNodeT< T > LinkedNode
Definition: XnListT.h:87
Iterator & operator--()
Definition: XnListT.h:218
T const * operator->() const
Definition: XnListT.h:172
Iterator Begin()
Definition: XnListT.h:285
ConstIterator Begin() const
Definition: XnListT.h:293
ConstIterator()
Definition: XnListT.h:97
XnStatus Clear()
Definition: XnListT.h:491
Iterator operator++(int)
Definition: XnListT.h:208
XnLinkedNodeT()
Definition: XnListT.h:43
T value
Definition: XnListT.h:48
ConstIterator & operator--()
Definition: XnListT.h:125
static void Deallocate(LinkedNode *pNode)
Definition: XnListT.h:70
#define XN_DELETE(p)
Definition: XnOS.h:339
Iterator(LinkedNode *pNode)
Definition: XnListT.h:192
XnStatus Remove(ConstIterator where)
Definition: XnListT.h:446
Definition: XnListT.h:187
ConstIterator(LinkedNode *pNode)
Definition: XnListT.h:99
Iterator End()
Definition: XnListT.h:301
TAlloc TAllocator
Definition: XnListT.h:89
ConstIterator End() const
Definition: XnListT.h:309
ConstIterator & operator++()
Definition: XnListT.h:106
Iterator()
Definition: XnListT.h:190
T & operator*() const
Definition: XnListT.h:236
~XnListT()
Definition: XnListT.h:277
XnBool operator==(const ConstIterator &other) const
Definition: XnListT.h:146
XnListT()
Definition: XnListT.h:251
XnListT & operator=(const XnListT &other)
Definition: XnListT.h:262
LinkedNode * m_pCurrent
Definition: XnListT.h:181
ConstIterator operator++(int)
Definition: XnListT.h:115
Iterator ReverseEnd()
Definition: XnListT.h:333
XnStatus AddLast(T const &value)
Definition: XnListT.h:403