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

#include <seadRingBuffer.h>

Inherited by sead::FixedRingBuffer< T, N >.

Classes

class  iterator

Public Member Functions

 RingBuffer ()
void setBuffer (s32 numMax, T *buf)
void allocBuffer (s32 numMax, Heap *heap, s32 alignment=4)
bool tryAllocBuffer (s32 numMax, Heap *heap, s32 alignment=4)
void freeBuffer ()
bool isBufferReady () const
bool isEmpty () const
bool isFull () const
s32 size () const
s32 maxSize () const
void clear ()
T & operator[] (s32 x)
const T & operator[] (s32 x) const
T * get (s32 x)
const T * get (s32 x) const
T * unsafeGet (s32 x)
const T * unsafeGet (s32 x) const
T & front ()
const T & front () const
T & back ()
const T & back () const
void pushBack (const T &obj)
iterator begin ()
iterator end ()

Protected Member Functions

s32 calcRealIndex (s32 x) const

Protected Attributes

T * mBuffer
s32 mNumMax
s32 mHead
s32 mNum

Constructor & Destructor Documentation

◆ RingBuffer()

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

Member Function Documentation

◆ setBuffer()

template<typename T>
void sead::RingBuffer< T >::setBuffer ( s32 numMax,
T * buf )
inline

◆ allocBuffer()

template<typename T>
void sead::RingBuffer< T >::allocBuffer ( s32 numMax,
Heap * heap,
s32 alignment = 4 )

◆ tryAllocBuffer()

template<typename T>
bool sead::RingBuffer< T >::tryAllocBuffer ( s32 numMax,
Heap * heap,
s32 alignment = 4 )

◆ freeBuffer()

template<typename T>
void sead::RingBuffer< T >::freeBuffer ( )

◆ isBufferReady()

template<typename T>
bool sead::RingBuffer< T >::isBufferReady ( ) const
inline

◆ isEmpty()

template<typename T>
bool sead::RingBuffer< T >::isEmpty ( ) const
inline

◆ isFull()

template<typename T>
bool sead::RingBuffer< T >::isFull ( ) const
inline

◆ size()

template<typename T>
s32 sead::RingBuffer< T >::size ( ) const
inline

◆ maxSize()

template<typename T>
s32 sead::RingBuffer< T >::maxSize ( ) const
inline

◆ clear()

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

◆ operator[]() [1/2]

template<typename T>
T & sead::RingBuffer< T >::operator[] ( s32 x)
inline

◆ operator[]() [2/2]

template<typename T>
const T & sead::RingBuffer< T >::operator[] ( s32 x) const
inline

◆ get() [1/2]

template<typename T>
T * sead::RingBuffer< T >::get ( s32 x)
inline

◆ get() [2/2]

template<typename T>
const T * sead::RingBuffer< T >::get ( s32 x) const
inline

◆ unsafeGet() [1/2]

template<typename T>
T * sead::RingBuffer< T >::unsafeGet ( s32 x)
inline

◆ unsafeGet() [2/2]

template<typename T>
const T * sead::RingBuffer< T >::unsafeGet ( s32 x) const
inline

◆ front() [1/2]

template<typename T>
T & sead::RingBuffer< T >::front ( )
inline

◆ front() [2/2]

template<typename T>
const T & sead::RingBuffer< T >::front ( ) const
inline

◆ back() [1/2]

template<typename T>
T & sead::RingBuffer< T >::back ( )
inline

◆ back() [2/2]

template<typename T>
const T & sead::RingBuffer< T >::back ( ) const
inline

◆ pushBack()

template<typename T>
void sead::RingBuffer< T >::pushBack ( const T & obj)
inline

◆ calcRealIndex()

template<typename T>
s32 sead::RingBuffer< T >::calcRealIndex ( s32 x) const
inlineprotected

◆ begin()

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

◆ end()

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

Member Data Documentation

◆ mBuffer

template<typename T>
T* sead::RingBuffer< T >::mBuffer
protected

◆ mNumMax

template<typename T>
s32 sead::RingBuffer< T >::mNumMax
protected

◆ mHead

template<typename T>
s32 sead::RingBuffer< T >::mHead
protected

◆ mNum

template<typename T>
s32 sead::RingBuffer< T >::mNum
protected