Go to the documentation of this file.
71 return in_pItem->pNextItem;
93 return m_ulNumListItems;
104 unsigned int m_ulNumListItems;
139 if ( in_pNextItem ==
NULL )
218 pPrevItem = this->
pItem;
219 this->
pItem = U_NEXTITEM<T>::Get( this->
pItem );
226 IteratorEx
Erase(
const IteratorEx& in_rIter )
228 IteratorEx returnedIt;
229 returnedIt.
pItem = U_NEXTITEM<T>::Get( in_rIter.pItem );
230 returnedIt.pPrevItem = in_rIter.pPrevItem;
232 RemoveItem( in_rIter.pItem, in_rIter.pPrevItem );
238 IteratorEx
Insert(
const IteratorEx& in_rIter,
241 IteratorEx returnedIt;
242 AddItem( in_pItem, in_rIter.pItem, in_rIter.pPrevItem );
243 returnedIt = in_rIter;
244 returnedIt.pPrevItem = in_pItem;
249 inline Iterator
End()
const
259 IteratorEx returnedIt;
262 returnedIt.pPrevItem =
NULL;
281 for ( ; it !=
End(); ++it )
283 if ( it.pItem == in_pItem )
313 LAST_POLICY<T>::UpdateLast( in_pItem );
314 U_NEXTITEM<T>::Get( in_pItem ) =
NULL;
318 U_NEXTITEM<T>::Get( in_pItem ) =
m_pFirst;
322 COUNT_POLICY<T>::IncrementCount( in_pItem );
328 U_NEXTITEM<T>::Get( in_pItem ) =
NULL;
336 U_NEXTITEM<T>::Get( LAST_POLICY<T>::Last() ) = in_pItem;
339 LAST_POLICY<T>::SetLast( in_pItem );
341 COUNT_POLICY<T>::IncrementCount( in_pItem );
347 IteratorEx it =
FindEx( in_pItem );
367 LAST_POLICY<T>::UpdateLast(
NULL );
373 U_NEXTITEM<T>::Get(pItem) =
nullptr;
375 COUNT_POLICY<T>::DecrementCount(
m_pFirst );
385 LAST_POLICY<T>::UpdateLast(
NULL );
386 COUNT_POLICY<T>::ResetCount(
m_pFirst );
409 m_pFirst = U_NEXTITEM<T>::Get( in_pItem );
414 U_NEXTITEM<T>::Get( in_pPrevItem ) = U_NEXTITEM<T>::Get( in_pItem );
417 LAST_POLICY<T>::RemoveItem( in_pItem, in_pPrevItem );
419 COUNT_POLICY<T>::DecrementCount(
m_pFirst );
423 void AddItem( T * in_pItem, T * in_pNextItem, T * in_pPrevItem )
425 U_NEXTITEM<T>::Get( in_pItem ) = in_pNextItem;
427 if ( in_pPrevItem ==
NULL )
430 U_NEXTITEM<T>::Get( in_pPrevItem ) = in_pItem;
432 LAST_POLICY<T>::AddItem( in_pItem, in_pNextItem );
434 COUNT_POLICY<T>::IncrementCount( in_pItem );
448 #endif // _AKLISTBARE_H
Iterator End() const
End condition.
AkForceInline void AddItem(T *, T *)
AkForceInline unsigned int Length() const
Get list length.
AkForceInline T * First()
Get first element.
@ AK_Fail
The operation failed.
T * operator->() const
Operator ->
IteratorEx FindEx(T *in_pItem)
Get Iterator from item.
AkForceInline void ResetCount(T *)
static AkForceInline T *& Get(T *in_pItem)
Default policy.
IteratorEx & operator++()
Operator ++.
AkForceInline void AddItem(T *in_pItem, T *in_pNextItem)
AkForceInline void DecrementCount(T *)
AkForceInline void RemoveAll()
Remove all elements.
AKRESULT
Standard function call result.
AKRESULT RemoveFirst()
Remove the first element.
AkForceInline void ResetCount(T *)
IteratorEx Insert(const IteratorEx &in_rIter, T *in_pItem)
Insert item.
AkForceInline void IncrementCount(T *)
AkForceInline bool IsEmpty() const
Empty condition.
Implementation of List Bare.
@ AK_Success
The operation was successful.
void AddFirst(T *in_pItem)
Add element at the beginning of list.
AkForceInline void UpdateLast(T *in_pLast)
T * m_pLast
bottom of list
AkForceInline T * Last()
Get last element.
T * operator*() const
Operator *.
AkForceInline void IncrementCount(T *)
AkForceInline void RemoveItem(T *, T *)
#define AKASSERT(Condition)
AkForceInline void SetLast(T *in_pLast)
AkForceInline void RemoveItem(T *in_pItem, T *in_pPrevItem)
Iterator & operator++()
Operator ++.
void AddItem(T *in_pItem, T *in_pNextItem, T *in_pPrevItem)
Add an element.
AkForceInline AkLastPolicyWithLast()
void RemoveItem(T *in_pItem, T *in_pPrevItem)
Remove an element.
AkForceInline void UpdateLast(T *)
bool operator==(const Iterator &in_rOp) const
Operator ==.
AkForceInline const T * Last() const
AKRESULT Remove(T *in_pItem)
Remove an element.
AkForceInline void DecrementCount(T *)
bool operator!=(const Iterator &in_rOp) const
Operator !=.
Iterator Begin() const
Get Iterator at beginning.
T * pPrevItem
Previous item.
void AddLast(T *in_pItem)
Add element at the end of list.
void Transfer(AkListBare< T, U_NEXTITEM, COUNT_POLICY, LAST_POLICY > &in_src)
IteratorEx BeginEx()
Get IteratorEx at beginning.
IteratorEx Erase(const IteratorEx &in_rIter)
Erase item.
Tell us about your project. We're here to help.
Register your project and we'll help you get started with no strings attached!
Get started with Wwise