Nugget
Bare-metal libraries and examples for the original PlayStation
Loading...
Searching...
No Matches
Public Member Functions | List of all members
psyqo::DynamicBumpAllocator< safety > Class Template Reference

A bump allocator whose capacity is chosen at runtime. More...

#include <psyqo/bump-allocator.hh>

Public Member Functions

 DynamicBumpAllocator (void *storage, size_t size)
 
template<Primitive P, typename... Args>
Fragments::SimpleFragment< P > & allocateFragment (Args &&...args)
 
template<typename T , typename... Args>
T & allocate (Args &&...args)
 
void reset ()
 
size_t remaining () const
 
size_t used () const
 
size_t capacity () const
 

Detailed Description

template<Safe safety = Safe::Yes>
class psyqo::DynamicBumpAllocator< safety >

A bump allocator whose capacity is chosen at runtime.

Same interface as BumpAllocator, for when the capacity is only known at runtime. It does not own its storage: the caller provides size bytes, 4-byte aligned, which must outlive every fragment allocated from it.

Constructor & Destructor Documentation

◆ DynamicBumpAllocator()

template<Safe safety = Safe::Yes>
psyqo::DynamicBumpAllocator< safety >::DynamicBumpAllocator ( void *  storage,
size_t  size 
)
inline

Member Function Documentation

◆ allocate()

template<Safe safety = Safe::Yes>
template<typename T , typename... Args>
T & psyqo::DynamicBumpAllocator< safety >::allocate ( Args &&...  args)
inline

◆ allocateFragment()

template<Safe safety = Safe::Yes>
template<Primitive P, typename... Args>
Fragments::SimpleFragment< P > & psyqo::DynamicBumpAllocator< safety >::allocateFragment ( Args &&...  args)
inline

◆ capacity()

template<Safe safety = Safe::Yes>
size_t psyqo::DynamicBumpAllocator< safety >::capacity ( ) const
inline

◆ remaining()

template<Safe safety = Safe::Yes>
size_t psyqo::DynamicBumpAllocator< safety >::remaining ( ) const
inline

◆ reset()

template<Safe safety = Safe::Yes>
void psyqo::DynamicBumpAllocator< safety >::reset ( )
inline

◆ used()

template<Safe safety = Safe::Yes>
size_t psyqo::DynamicBumpAllocator< safety >::used ( ) const
inline

The documentation for this class was generated from the following file: