29#include <EASTL/utility.h>
55template <
size_t N, Safe safety = Safe::Yes>
68 template <
typename T,
typename...
Args>
70 size_t size =
sizeof(
T);
72 if constexpr (
alignof(
T) > 1) {
73 static constexpr size_t a =
alignof(
T) - 1;
82 return *
new (
ptr)
T(eastl::forward<Args>(
args)...);
A bump allocator for fragments.
Definition bump-allocator.hh:56
size_t remaining() const
Definition bump-allocator.hh:85
Fragments::SimpleFragment< P > & allocateFragment(Args &&...args)
Definition bump-allocator.hh:59
T & allocate(Args &&...args)
Definition bump-allocator.hh:69
size_t used() const
Definition bump-allocator.hh:86
void reset()
Definition bump-allocator.hh:84
The Primitive concept.
Definition primitive-concept.hh:38
volatile uint32_t * ptr
Definition cop0.c:80
void assert(bool condition, const char *message, std::source_location location=std::source_location::current())
A simple assert macro.
Definition kernel.hh:319
static int size
Definition string.h:32
A fragment containing a single primitive.
Definition fragments.hh:67