sead
Loading...
Searching...
No Matches
sead::OffsetList< T > Class Template Reference

#include <seadOffsetList.h>

Inherits sead::ListImpl.

Classes

class  constIterator
class  iterator
class  reverseConstIterator
class  reverseIterator
class  reverseRobustIterator
class  robustIterator

Public Member Functions

 OffsetList ()
void initOffset (s32 offset)
void clear ()
void unsafeClear ()
void pushBack (T *obj)
void pushFront (T *obj)
T * popBack ()
T * popFront ()
void insertBefore (const T *basis, T *obj)
void insertAfter (const T *basis, T *obj)
void erase (T *obj)
T * front () const
T * back () const
T * prev (const T *obj) const
T * next (const T *obj) const
T * nth (s32 index) const
s32 indexOf (const T *obj) const
bool isNodeLinked (const T *obj) const
void swap (T *obj1, T *obj2)
void moveAfter (T *basis, T *obj)
void moveBefore (T *basis, T *obj)
void sort ()
void sort (CompareCallback cmp)
void mergeSort ()
void mergeSort (CompareCallback cmp)
T * find (const T *obj) const
T * find (const T *obj, CompareCallback cmp) const
void uniq ()
void uniq (CompareCallback cmp)
iterator begin () const
iterator end () const
iterator toIterator (T *) const
constIterator constBegin () const
constIterator constEnd () const
constIterator toConstIterator (const T *) const
robustIterator robustBegin ()
robustIterator robustEnd ()
robustIterator toRobustIterator (T *)
reverseIterator reverseBegin () const
reverseIterator reverseEnd () const
reverseIterator toReverseIterator (T *) const
reverseConstIterator reverseConstBegin () const
reverseConstIterator reverseConstEnd () const
reverseConstIterator toReverseConstIterator (const T *) const
reverseRobustIterator reverseRobustBegin ()
reverseRobustIterator reverseRobustEnd ()
reverseRobustIterator toReverseRobustIterator (T *)
Public Member Functions inherited from sead::ListImpl
 ListImpl ()
bool isEmpty () const
s32 size () const
void reverse ()
void shuffle ()
void shuffle (Random *random)
bool checkLinks () const

Protected Member Functions

ListNodeobjToListNode (const T *obj) const
T * listNodeToObj (const ListNode *node) const
T * listNodeToObjWithNullCheck (const ListNode *node) const
Protected Member Functions inherited from sead::ListImpl
 ListImpl (const ListImpl &)
void sort (s32 offset, CompareCallbackImpl cmp)
void mergeSort (s32 offset, CompareCallbackImpl cmp)
void pushBack (ListNode *n)
void pushFront (ListNode *n)
ListNodepopBack ()
ListNodepopFront ()
void insertBefore (ListNode *basis, ListNode *n)
void insertAfter (ListNode *basis, ListNode *n)
void erase (ListNode *n)
ListNodefront () const
ListNodeback () const
ListNodenth (s32 index) const
s32 indexOf (const ListNode *n) const
void swap (ListNode *n1, ListNode *n2)
void moveAfter (ListNode *basis, ListNode *n)
void moveBefore (ListNode *basis, ListNode *n)
ListNodefind (const void *ptr, s32 offset, CompareCallbackImpl cmp) const
void uniq (s32 offset, CompareCallbackImpl cmp)
void clear ()
void unsafeClear ()
ListImploperator= (const ListImpl &)

Static Protected Member Functions

static s32 compareT (const T *, const T *)
Static Protected Member Functions inherited from sead::ListImpl
static void mergeSortImpl (ListNode *front, ListNode *back, s32 num, s32 offset, CompareCallbackImpl cmp)

Protected Attributes

s32 mOffset
Protected Attributes inherited from sead::ListImpl
ListNode mStartEnd
s32 mCount

Private Types

typedef s32(* CompareCallback) (const T *, const T *)

Additional Inherited Members

Protected Types inherited from sead::ListImpl
using CompareCallbackImpl = s32 (*)(const void* a, const void* b)

Member Typedef Documentation

◆ CompareCallback

template<typename T>
typedef s32(* sead::OffsetList< T >::CompareCallback) (const T *, const T *)
private

Constructor & Destructor Documentation

◆ OffsetList()

template<typename T>
sead::OffsetList< T >::OffsetList ( )
inline

Member Function Documentation

◆ initOffset()

template<typename T>
void sead::OffsetList< T >::initOffset ( s32 offset)
inline

◆ clear()

template<typename T>
void sead::OffsetList< T >::clear ( )
inline

◆ unsafeClear()

template<typename T>
void sead::OffsetList< T >::unsafeClear ( )
inline

◆ pushBack()

template<typename T>
void sead::OffsetList< T >::pushBack ( T * obj)
inline

◆ pushFront()

template<typename T>
void sead::OffsetList< T >::pushFront ( T * obj)
inline

◆ popBack()

template<typename T>
T * sead::OffsetList< T >::popBack ( )
inline

◆ popFront()

template<typename T>
T * sead::OffsetList< T >::popFront ( )
inline

◆ insertBefore()

template<typename T>
void sead::OffsetList< T >::insertBefore ( const T * basis,
T * obj )
inline

◆ insertAfter()

template<typename T>
void sead::OffsetList< T >::insertAfter ( const T * basis,
T * obj )
inline

◆ erase()

template<typename T>
void sead::OffsetList< T >::erase ( T * obj)
inline

◆ front()

template<typename T>
T * sead::OffsetList< T >::front ( ) const
inline

◆ back()

template<typename T>
T * sead::OffsetList< T >::back ( ) const
inline

◆ prev()

template<typename T>
T * sead::OffsetList< T >::prev ( const T * obj) const
inline

◆ next()

template<typename T>
T * sead::OffsetList< T >::next ( const T * obj) const
inline

◆ nth()

template<typename T>
T * sead::OffsetList< T >::nth ( s32 index) const

◆ indexOf()

template<typename T>
s32 sead::OffsetList< T >::indexOf ( const T * obj) const

◆ isNodeLinked()

template<typename T>
bool sead::OffsetList< T >::isNodeLinked ( const T * obj) const

◆ swap()

template<typename T>
void sead::OffsetList< T >::swap ( T * obj1,
T * obj2 )

◆ moveAfter()

template<typename T>
void sead::OffsetList< T >::moveAfter ( T * basis,
T * obj )

◆ moveBefore()

template<typename T>
void sead::OffsetList< T >::moveBefore ( T * basis,
T * obj )

◆ sort() [1/2]

template<typename T>
void sead::OffsetList< T >::sort ( )

◆ sort() [2/2]

template<typename T>
void sead::OffsetList< T >::sort ( CompareCallback cmp)

◆ mergeSort() [1/2]

template<typename T>
void sead::OffsetList< T >::mergeSort ( )

◆ mergeSort() [2/2]

template<typename T>
void sead::OffsetList< T >::mergeSort ( CompareCallback cmp)

◆ find() [1/2]

template<typename T>
T * sead::OffsetList< T >::find ( const T * obj) const

◆ find() [2/2]

template<typename T>
T * sead::OffsetList< T >::find ( const T * obj,
CompareCallback cmp ) const

◆ uniq() [1/2]

template<typename T>
void sead::OffsetList< T >::uniq ( )

◆ uniq() [2/2]

template<typename T>
void sead::OffsetList< T >::uniq ( CompareCallback cmp)

◆ begin()

template<typename T>
iterator sead::OffsetList< T >::begin ( ) const
inline

◆ end()

template<typename T>
iterator sead::OffsetList< T >::end ( ) const
inline

◆ toIterator()

template<typename T>
iterator sead::OffsetList< T >::toIterator ( T * ) const

◆ constBegin()

template<typename T>
constIterator sead::OffsetList< T >::constBegin ( ) const
inline

◆ constEnd()

template<typename T>
constIterator sead::OffsetList< T >::constEnd ( ) const
inline

◆ toConstIterator()

template<typename T>
constIterator sead::OffsetList< T >::toConstIterator ( const T * ) const

◆ robustBegin()

template<typename T>
robustIterator sead::OffsetList< T >::robustBegin ( )
inline

◆ robustEnd()

template<typename T>
robustIterator sead::OffsetList< T >::robustEnd ( )
inline

◆ toRobustIterator()

template<typename T>
robustIterator sead::OffsetList< T >::toRobustIterator ( T * )

◆ reverseBegin()

template<typename T>
reverseIterator sead::OffsetList< T >::reverseBegin ( ) const

◆ reverseEnd()

template<typename T>
reverseIterator sead::OffsetList< T >::reverseEnd ( ) const

◆ toReverseIterator()

template<typename T>
reverseIterator sead::OffsetList< T >::toReverseIterator ( T * ) const

◆ reverseConstBegin()

template<typename T>
reverseConstIterator sead::OffsetList< T >::reverseConstBegin ( ) const

◆ reverseConstEnd()

template<typename T>
reverseConstIterator sead::OffsetList< T >::reverseConstEnd ( ) const

◆ toReverseConstIterator()

template<typename T>
reverseConstIterator sead::OffsetList< T >::toReverseConstIterator ( const T * ) const

◆ reverseRobustBegin()

template<typename T>
reverseRobustIterator sead::OffsetList< T >::reverseRobustBegin ( )

◆ reverseRobustEnd()

template<typename T>
reverseRobustIterator sead::OffsetList< T >::reverseRobustEnd ( )

◆ toReverseRobustIterator()

template<typename T>
reverseRobustIterator sead::OffsetList< T >::toReverseRobustIterator ( T * )

◆ compareT()

template<typename T>
s32 sead::OffsetList< T >::compareT ( const T * ,
const T *  )
staticprotected

◆ objToListNode()

template<typename T>
ListNode * sead::OffsetList< T >::objToListNode ( const T * obj) const
inlineprotected

◆ listNodeToObj()

template<typename T>
T * sead::OffsetList< T >::listNodeToObj ( const ListNode * node) const
inlineprotected

◆ listNodeToObjWithNullCheck()

template<typename T>
T * sead::OffsetList< T >::listNodeToObjWithNullCheck ( const ListNode * node) const
inlineprotected

Member Data Documentation

◆ mOffset

template<typename T>
s32 sead::OffsetList< T >::mOffset
protected