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

#include <seadPtrArray.h>

Inherited by sead::PtrArray< const char >, sead::PtrArray< agl::ShaderProgram >, sead::PtrArray< agl::env::EnvObj >, sead::PtrArray< void >, sead::PtrArray< agl::lght::LightMap >, sead::PtrArray< agl::lyr::DrawMethod >, sead::PtrArray< agl::utl::INamedObj >, sead::PtrArray< agl::utl::INamedObjMgr::Group >, sead::PtrArray< sead::Controller >, sead::ObjArray< T >, and sead::PtrArray< T >.

Public Member Functions

 PtrArrayImpl ()
void setBuffer (s32 ptrNumMax, void *buf)
void allocBuffer (s32 ptrNumMax, Heap *heap, s32 alignment=4)
bool tryAllocBuffer (s32 ptrNumMax, Heap *heap, s32 alignment=4)
void freeBuffer ()
bool isBufferReady () const
bool isEmpty () const
bool isFull () const
s32 size () const
s32 maxSize () const
void erase (s32 pos)
void erase (s32 pos, s32 num)
void clear ()
void resize (s32)
void unsafeResize (s32)
void swap (s32 pos1, s32 pos2)
void reverse ()
PtrArrayImploperator= (const PtrArrayImpl &)
void shuffle ()
void shuffle (Random *random)

Protected Types

typedef s32(* CompareCallbackImpl) (const void *, const void *)

Protected Member Functions

void * at (s32 n) const
void * unsafeAt (s32 n) const
void * front () const
void * back () const
void pushBack (void *ptr)
void pushFront (void *ptr)
void * popBack ()
void * popFront ()
void replace (s32 pos, void *ptr)
void * find (const void *ptr, CompareCallbackImpl cmp) const
s32 search (const void *ptr, CompareCallbackImpl cmp) const
bool equal (const PtrArrayImpl &o, CompareCallbackImpl cmp) const
s32 indexOf (const void *ptr) const
void createVacancy (s32 pos, s32 num)
void insert (s32 pos, void *ptr)
void insertArray (s32 pos, void *array, s32 array_length, s32 elem_size)
bool checkInsert (s32 pos, s32 num)
void sort (CompareCallbackImpl cmp)
void heapSort (CompareCallbackImpl cmp)
s32 compare (const PtrArrayImpl &o, CompareCallbackImpl cmp) const
void uniq (CompareCallbackImpl cmp)
s32 binarySearch (const void *ptr, CompareCallbackImpl cmp) const

Protected Attributes

s32 mPtrNum
s32 mPtrNumMax
void ** mPtrs

Member Typedef Documentation

◆ CompareCallbackImpl

typedef s32(* sead::PtrArrayImpl::CompareCallbackImpl) (const void *, const void *)
protected

Constructor & Destructor Documentation

◆ PtrArrayImpl()

sead::PtrArrayImpl::PtrArrayImpl ( )
inline

Member Function Documentation

◆ setBuffer()

void sead::PtrArrayImpl::setBuffer ( s32 ptrNumMax,
void * buf )

◆ allocBuffer()

void sead::PtrArrayImpl::allocBuffer ( s32 ptrNumMax,
Heap * heap,
s32 alignment = 4 )

◆ tryAllocBuffer()

bool sead::PtrArrayImpl::tryAllocBuffer ( s32 ptrNumMax,
Heap * heap,
s32 alignment = 4 )

◆ freeBuffer()

void sead::PtrArrayImpl::freeBuffer ( )

◆ isBufferReady()

bool sead::PtrArrayImpl::isBufferReady ( ) const
inline

◆ isEmpty()

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

◆ isFull()

bool sead::PtrArrayImpl::isFull ( ) const
inline

◆ size()

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

◆ maxSize()

s32 sead::PtrArrayImpl::maxSize ( ) const
inline

◆ erase() [1/2]

void sead::PtrArrayImpl::erase ( s32 pos)
inline

◆ erase() [2/2]

void sead::PtrArrayImpl::erase ( s32 pos,
s32 num )

◆ clear()

void sead::PtrArrayImpl::clear ( )
inline

◆ resize()

void sead::PtrArrayImpl::resize ( s32 )

◆ unsafeResize()

void sead::PtrArrayImpl::unsafeResize ( s32 )

◆ swap()

void sead::PtrArrayImpl::swap ( s32 pos1,
s32 pos2 )

◆ reverse()

void sead::PtrArrayImpl::reverse ( )

◆ operator=()

PtrArrayImpl & sead::PtrArrayImpl::operator= ( const PtrArrayImpl & )

◆ shuffle() [1/2]

void sead::PtrArrayImpl::shuffle ( )

◆ shuffle() [2/2]

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

◆ at()

void * sead::PtrArrayImpl::at ( s32 n) const
inlineprotected

◆ unsafeAt()

void * sead::PtrArrayImpl::unsafeAt ( s32 n) const
inlineprotected

◆ front()

void * sead::PtrArrayImpl::front ( ) const
inlineprotected

◆ back()

void * sead::PtrArrayImpl::back ( ) const
inlineprotected

◆ pushBack()

void sead::PtrArrayImpl::pushBack ( void * ptr)
inlineprotected

◆ pushFront()

void sead::PtrArrayImpl::pushFront ( void * ptr)
inlineprotected

◆ popBack()

void * sead::PtrArrayImpl::popBack ( )
protected

◆ popFront()

void * sead::PtrArrayImpl::popFront ( )
protected

◆ replace()

void sead::PtrArrayImpl::replace ( s32 pos,
void * ptr )
protected

◆ find()

void * sead::PtrArrayImpl::find ( const void * ptr,
CompareCallbackImpl cmp ) const
protected

◆ search()

s32 sead::PtrArrayImpl::search ( const void * ptr,
CompareCallbackImpl cmp ) const
protected

◆ equal()

bool sead::PtrArrayImpl::equal ( const PtrArrayImpl & o,
CompareCallbackImpl cmp ) const
protected

◆ indexOf()

s32 sead::PtrArrayImpl::indexOf ( const void * ptr) const
inlineprotected

◆ createVacancy()

void sead::PtrArrayImpl::createVacancy ( s32 pos,
s32 num )
protected

◆ insert()

void sead::PtrArrayImpl::insert ( s32 pos,
void * ptr )
protected

◆ insertArray()

void sead::PtrArrayImpl::insertArray ( s32 pos,
void * array,
s32 array_length,
s32 elem_size )
protected

◆ checkInsert()

bool sead::PtrArrayImpl::checkInsert ( s32 pos,
s32 num )
protected

◆ sort()

void sead::PtrArrayImpl::sort ( CompareCallbackImpl cmp)
protected

◆ heapSort()

void sead::PtrArrayImpl::heapSort ( CompareCallbackImpl cmp)
protected

◆ compare()

s32 sead::PtrArrayImpl::compare ( const PtrArrayImpl & o,
CompareCallbackImpl cmp ) const
protected

◆ uniq()

void sead::PtrArrayImpl::uniq ( CompareCallbackImpl cmp)
protected

◆ binarySearch()

s32 sead::PtrArrayImpl::binarySearch ( const void * ptr,
CompareCallbackImpl cmp ) const
protected

Member Data Documentation

◆ mPtrNum

s32 sead::PtrArrayImpl::mPtrNum
protected

◆ mPtrNumMax

s32 sead::PtrArrayImpl::mPtrNumMax
protected

◆ mPtrs

void** sead::PtrArrayImpl::mPtrs
protected