29#include <EASTL/array.h>
30#include <EASTL/utility.h>
94template <Primitive Prim>
96 constexpr size_t maxSize()
const {
return 1; }
97 template <
typename... Args>
100 static_assert(
sizeof(*this) == (
sizeof(uint32_t) +
sizeof(Prim)),
"Spurious padding in simple fragment");
120template <Primitive Prim,
size_t N>
125 static_assert(
sizeof(*this) == (
sizeof(unsigned) +
sizeof(uintptr_t) +
sizeof(Prim) *
N),
126 "Spurious padding in fixed fragment");
150template <Primitive P, Primitive Prim,
size_t N>
155 static_assert(
sizeof(*this) == (
sizeof(unsigned) +
sizeof(uintptr_t) +
sizeof(P) +
sizeof(Prim) *
N),
156 "Spurious padding in fixed fragment");
static int size
Definition string.h:149
#define N
Definition main.c:37
Definition fragments.hh:75
void setEndMarker()
Definition fragments.hh:78
ChainEntry * next
Definition fragments.hh:76
unsigned size
Definition fragments.hh:77
void set(ChainEntry *next_, unsigned size_)
Definition fragments.hh:82
Definition fragments.hh:88
void setEndMarker()
Definition fragments.hh:90
void set(ChainEntryPS1 *next, unsigned size)
Definition fragments.hh:91
uintptr_t head
Definition fragments.hh:89
A maximum fixed sized fragment of similar primitives.
Definition fragments.hh:151
size_t getActualFragmentSize() const
Definition fragments.hh:161
FixedFragmentWithPrologue(const FixedFragmentWithPrologue &)=default
FixedFragmentWithPrologue()
Definition fragments.hh:153
unsigned count
Definition fragments.hh:164
eastl::array< Prim, N > primitives
Definition fragments.hh:163
P prologue
Definition fragments.hh:162
Prim FragmentBaseType
Definition fragments.hh:160
constexpr size_t maxSize() const
Definition fragments.hh:152
A maximum fixed sized fragment of similar primitives.
Definition fragments.hh:121
FixedFragment()
Definition fragments.hh:123
FixedFragment(const FixedFragment &)=default
constexpr size_t maxSize() const
Definition fragments.hh:122
size_t getActualFragmentSize() const
Definition fragments.hh:131
eastl::array< Prim, N > primitives
Definition fragments.hh:132
Prim FragmentBaseType
Definition fragments.hh:130
unsigned count
Definition fragments.hh:133
Definition fragments.hh:95
Prim primitive
Definition fragments.hh:106
constexpr size_t getActualFragmentSize() const
Definition fragments.hh:105
SimpleFragment(Args &&...args)
Definition fragments.hh:98
SimpleFragment(const SimpleFragment &)=default
constexpr size_t maxSize() const
Definition fragments.hh:96
Prim FragmentBaseType
Definition fragments.hh:104