sead
Loading...
Searching...
No Matches
sead::FixedObjList< T, N > Class Template Reference

#include <seadObjList.h>

Inherits sead::ObjList< T >.

Public Member Functions

 FixedObjList ()
void allocBuffer (s32 limitNum, s32 alignment=cDefaultAlignment)=delete
void allocBuffer (s32 limitNum, Heap *heap, s32 alignment=cDefaultAlignment)=delete
bool tryAllocBuffer (s32 limitNum, s32 alignment=cDefaultAlignment)=delete
bool tryAllocBuffer (s32 limitNum, Heap *heap, s32 alignment=cDefaultAlignment)=delete
void freeBuffer ()=delete
void setBuffer (s32 limitNum, void *buf)=delete
Public Member Functions inherited from sead::ObjList< T >
 ObjList ()
 ObjList (s32 limitNum, void *buf)
void allocBuffer (s32 limitNum, s32 alignment=cDefaultAlignment)
void allocBuffer (s32 limitNum, Heap *heap, s32 alignment=cDefaultAlignment)
bool tryAllocBuffer (s32 limitNum, s32 alignment=cDefaultAlignment)
bool tryAllocBuffer (s32 limitNum, Heap *heap, s32 alignment=cDefaultAlignment)
void freeBuffer ()
void setBuffer (s32 limitNum, void *buf)
bool isBufferReady () const
bool isFull () const
s32 maxSize () const
void clear ()
T * birthBack ()
T * tryBirthBack ()
T * birthFront ()
T * tryBirthFront ()
T * birthBefore (const T *basis)
T * tryBirthBefore (const T *basis)
T * birthAfter (const T *basis)
T * tryBirthAfter (const T *basis)
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 ()
constIterator begin () const
iterator end ()
constIterator end () const
constIterator constBegin () const
constIterator constEnd () const
robustIterator robustBegin ()
robustIterator robustEnd ()
reverseIterator reverseBegin ()
reverseConstIterator reverseBegin () const
reverseIterator reverseEnd ()
reverseConstIterator reverseEnd () const
reverseConstIterator reverseConstBegin () const
reverseConstIterator reverseConstEnd () const
reverseRobustIterator reverseRobustBegin ()
reverseRobustIterator reverseRobustEnd ()
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 Attributes

u8 mInternalWork [N *sizeof(typename ObjList< T >::Node)]
Protected Attributes inherited from sead::ObjList< T >
FreeList mFreeList
s32 mLimitNum
Protected Attributes inherited from sead::ListImpl
ListNode mStartEnd
s32 mCount

Additional Inherited Members

Protected Types inherited from sead::ObjList< T >
using CompareCallback = s32 (*)(const T* a, const T* b)
Protected Types inherited from sead::ListImpl
using CompareCallbackImpl = s32 (*)(const void* a, const void* b)
Protected Member Functions inherited from sead::ObjList< T >
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 inherited from sead::ObjList< T >
static s32 compareT (const T *a, const T *b)
Static Protected Member Functions inherited from sead::ListImpl
static void mergeSortImpl (ListNode *front, ListNode *back, s32 num, s32 offset, CompareCallbackImpl cmp)

Constructor & Destructor Documentation

◆ FixedObjList()

template<typename T, s32 N>
sead::FixedObjList< T, N >::FixedObjList ( )
inline

Member Function Documentation

◆ allocBuffer() [1/2]

template<typename T, s32 N>
void sead::FixedObjList< T, N >::allocBuffer ( s32 limitNum,
s32 alignment = cDefaultAlignment )
delete

◆ allocBuffer() [2/2]

template<typename T, s32 N>
void sead::FixedObjList< T, N >::allocBuffer ( s32 limitNum,
Heap * heap,
s32 alignment = cDefaultAlignment )
delete

◆ tryAllocBuffer() [1/2]

template<typename T, s32 N>
bool sead::FixedObjList< T, N >::tryAllocBuffer ( s32 limitNum,
s32 alignment = cDefaultAlignment )
delete

◆ tryAllocBuffer() [2/2]

template<typename T, s32 N>
bool sead::FixedObjList< T, N >::tryAllocBuffer ( s32 limitNum,
Heap * heap,
s32 alignment = cDefaultAlignment )
delete

◆ freeBuffer()

template<typename T, s32 N>
void sead::FixedObjList< T, N >::freeBuffer ( )
delete

◆ setBuffer()

template<typename T, s32 N>
void sead::FixedObjList< T, N >::setBuffer ( s32 limitNum,
void * buf )
delete

Member Data Documentation

◆ mInternalWork

template<typename T, s32 N>
u8 sead::FixedObjList< T, N >::mInternalWork[N *sizeof(typename ObjList< T >::Node)]
protected