sead
Loading...
Searching...
No Matches
sead::ListImpl Class Reference

#include <seadListImpl.h>

Inherited by sead::OffsetList< Heap >, sead::OffsetList< IDisposer >, sead::OffsetList< agl::utl::INamedObjIndex >, sead::OffsetList< agl::utl::IParameterList >, sead::OffsetList< agl::utl::IParameterObj >, sead::OffsetList< agl::utl::ParameterBase >, sead::OffsetList< agl::utl::TextureMemoryAllocator::MemoryBlock >, sead::OffsetList< AudioSubsetBase >, sead::OffsetList< sead::ControllerAddon >, sead::OffsetList< sead::ControllerWrapperBase >, sead::OffsetList< sead::ControlDevice >, sead::TList< TaskBase * >, sead::TList< Slot * >, sead::TList< FileDevice * >, sead::TList< ResourceFactory * >, sead::TList< Resource * >, sead::TList< Decompressor * >, sead::TList< Thread * >, sead::TList< DebugTexturePage * >, sead::ObjList< T >, sead::OffsetList< T >, and sead::TList< T >.

Public Member Functions

 ListImpl ()
bool isEmpty () const
s32 size () const
void reverse ()
void shuffle ()
void shuffle (Random *random)
bool checkLinks () const

Protected Types

using CompareCallbackImpl = s32 (*)(const void* a, const void* b)

Protected Member Functions

 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 void mergeSortImpl (ListNode *front, ListNode *back, s32 num, s32 offset, CompareCallbackImpl cmp)

Protected Attributes

ListNode mStartEnd
s32 mCount

Member Typedef Documentation

◆ CompareCallbackImpl

using sead::ListImpl::CompareCallbackImpl = s32 (*)(const void* a, const void* b)
protected

Constructor & Destructor Documentation

◆ ListImpl() [1/2]

sead::ListImpl::ListImpl ( )
inline

◆ ListImpl() [2/2]

sead::ListImpl::ListImpl ( const ListImpl & )
protected

Member Function Documentation

◆ isEmpty()

bool sead::ListImpl::isEmpty ( ) const
inline

◆ size()

s32 sead::ListImpl::size ( ) const
inline

◆ reverse()

void sead::ListImpl::reverse ( )

◆ shuffle() [1/2]

void sead::ListImpl::shuffle ( )
inline

◆ shuffle() [2/2]

void sead::ListImpl::shuffle ( Random * random)

◆ checkLinks()

bool sead::ListImpl::checkLinks ( ) const

◆ sort()

void sead::ListImpl::sort ( s32 offset,
CompareCallbackImpl cmp )
protected

◆ mergeSort()

void sead::ListImpl::mergeSort ( s32 offset,
CompareCallbackImpl cmp )
protected

◆ pushBack()

void sead::ListImpl::pushBack ( ListNode * n)
inlineprotected

◆ pushFront()

void sead::ListImpl::pushFront ( ListNode * n)
inlineprotected

◆ popBack()

ListNode * sead::ListImpl::popBack ( )
protected

◆ popFront()

ListNode * sead::ListImpl::popFront ( )
protected

◆ insertBefore()

void sead::ListImpl::insertBefore ( ListNode * basis,
ListNode * n )
inlineprotected

◆ insertAfter()

void sead::ListImpl::insertAfter ( ListNode * basis,
ListNode * n )
inlineprotected

◆ erase()

void sead::ListImpl::erase ( ListNode * n)
inlineprotected

◆ front()

ListNode * sead::ListImpl::front ( ) const
inlineprotected

◆ back()

ListNode * sead::ListImpl::back ( ) const
inlineprotected

◆ nth()

ListNode * sead::ListImpl::nth ( s32 index) const
protected

◆ indexOf()

s32 sead::ListImpl::indexOf ( const ListNode * n) const
protected

◆ swap()

void sead::ListImpl::swap ( ListNode * n1,
ListNode * n2 )
protected

◆ moveAfter()

void sead::ListImpl::moveAfter ( ListNode * basis,
ListNode * n )
protected

◆ moveBefore()

void sead::ListImpl::moveBefore ( ListNode * basis,
ListNode * n )
protected

◆ find()

ListNode * sead::ListImpl::find ( const void * ptr,
s32 offset,
CompareCallbackImpl cmp ) const
protected

◆ uniq()

void sead::ListImpl::uniq ( s32 offset,
CompareCallbackImpl cmp )
protected

◆ clear()

void sead::ListImpl::clear ( )
protected

◆ unsafeClear()

void sead::ListImpl::unsafeClear ( )
inlineprotected

◆ mergeSortImpl()

void sead::ListImpl::mergeSortImpl ( ListNode * front,
ListNode * back,
s32 num,
s32 offset,
CompareCallbackImpl cmp )
staticprotected

◆ operator=()

ListImpl & sead::ListImpl::operator= ( const ListImpl & )
protected

Member Data Documentation

◆ mStartEnd

ListNode sead::ListImpl::mStartEnd
protected

◆ mCount

s32 sead::ListImpl::mCount
protected