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

#include <seadObjArray.h>

Inherits sead::ObjArray< T >.

Public Member Functions

 FixedObjArray ()
void setBuffer (s32 ptrNumMax, void *buf)=delete
void allocBuffer (s32 ptrNumMax, Heap *heap, s32 alignment=cDefaultAlignment)=delete
bool tryAllocBuffer (s32 ptrNumMax, Heap *heap, s32 alignment=cDefaultAlignment)=delete
void freeBuffer ()=delete
Public Member Functions inherited from sead::ObjArray< T >
 ObjArray ()=default
 ObjArray (s32 max_num, void *buf)
void allocBuffer (s32 capacity, Heap *heap, s32 alignment=cDefaultAlignment)
bool tryAllocBuffer (s32 capacity, Heap *heap, s32 alignment=cDefaultAlignment)
void setBuffer (s32 max_num, void *buf)
void freeBuffer ()
T * at (s32 pos) const
T * unsafeAt (s32 pos) const
T * operator() (s32 pos) const
T * operator[] (s32 pos) const
T * front () const
T * back () const
void pushBack (const T &item)
template<class... Args>
T * emplaceBack (Args &&... args)
void insert (s32 pos, const T &item)
void erase (int index)
void erase (int index, int count)
void clear ()
void sort ()
void sort (CompareCallback cmp)
void heapSort ()
void heapSort (CompareCallback cmp)
bool equal (const ObjArray &other, CompareCallback cmp) const
s32 compare (const ObjArray &other, CompareCallback cmp) const
s32 binarySearch (const T *ptr) const
s32 binarySearch (const T *ptr, CompareCallback cmp) const
bool operator== (const ObjArray &other) const
bool operator!= (const ObjArray &other) const
bool operator< (const ObjArray &other) const
bool operator<= (const ObjArray &other) const
bool operator> (const ObjArray &other) const
bool operator>= (const ObjArray &other) const
void uniq ()
void uniq (CompareCallback cmp)
iterator begin () const
iterator end () const
constIterator constBegin () const
constIterator constEnd () const
T ** data () const
Public Member Functions inherited from sead::PtrArrayImpl
 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)

Private Attributes

u8 mWork [ObjArray< T >::calculateWorkBufferSize(N)]

Additional Inherited Members

Public Types inherited from sead::ObjArray< T >
using CompareCallback = s32 (*)(const T*, const T*)
Static Public Member Functions inherited from sead::ObjArray< T >
static constexpr size_t calculateWorkBufferSize (size_t n)
Static Public Attributes inherited from sead::ObjArray< T >
static constexpr size_t ElementSize = sizeof(Node)
Protected Types inherited from sead::PtrArrayImpl
typedef s32(* CompareCallbackImpl) (const void *, const void *)
Protected Member Functions inherited from sead::ObjArray< T >
T * alloc (const T &item)
Protected Member Functions inherited from sead::PtrArrayImpl
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
Static Protected Member Functions inherited from sead::ObjArray< T >
static s32 compareT (const void *a, const void *b)
static s32 compareT (const T *a, const T *b)
Protected Attributes inherited from sead::ObjArray< T >
sead::FreeList mFreeList
Protected Attributes inherited from sead::PtrArrayImpl
s32 mPtrNum
s32 mPtrNumMax
void ** mPtrs

Constructor & Destructor Documentation

◆ FixedObjArray()

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

Member Function Documentation

◆ setBuffer()

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

◆ allocBuffer()

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

◆ tryAllocBuffer()

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

◆ freeBuffer()

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

Member Data Documentation

◆ mWork

template<typename T, s32 N>
u8 sead::FixedObjArray< T, N >::mWork[ObjArray< T >::calculateWorkBufferSize(N)]
private