29#include <EASTL/array.h>
30#include <EASTL/utility.h>
98template <Primitive Prim>
100 constexpr size_t maxSize()
const {
return 1; }
101 template <
typename... Args>
104 static_assert(
sizeof(*this) == (
sizeof(
uint32_t) +
sizeof(Prim)),
"Spurious padding in simple fragment");
124template <Primitive Prim,
size_t N>
126 constexpr size_t maxSize()
const {
return N; }
129 static_assert(
sizeof(*this) == (
sizeof(unsigned) +
sizeof(uintptr_t) +
sizeof(Prim) * N),
130 "Spurious padding in fixed fragment");
154template <Primitive P, Primitive Prim,
size_t N>
156 constexpr size_t maxSize()
const {
return N; }
159 static_assert(
sizeof(*this) == (
sizeof(unsigned) +
sizeof(uintptr_t) +
sizeof(P) +
sizeof(Prim) * N),
160 "Spurious padding in fixed fragment");
static int size
Definition string.h:32
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:93
uintptr_t head
Definition fragments.hh:89
A maximum fixed sized fragment of similar primitives.
Definition fragments.hh:155
size_t getActualFragmentSize() const
Definition fragments.hh:165
FixedFragmentWithPrologue(const FixedFragmentWithPrologue &)=default
FixedFragmentWithPrologue()
Definition fragments.hh:157
unsigned count
Definition fragments.hh:168
eastl::array< Prim, N > primitives
Definition fragments.hh:167
P prologue
Definition fragments.hh:166
Prim FragmentBaseType
Definition fragments.hh:164
constexpr size_t maxSize() const
Definition fragments.hh:156
A maximum fixed sized fragment of similar primitives.
Definition fragments.hh:125
FixedFragment()
Definition fragments.hh:127
FixedFragment(const FixedFragment &)=default
constexpr size_t maxSize() const
Definition fragments.hh:126
size_t getActualFragmentSize() const
Definition fragments.hh:135
eastl::array< Prim, N > primitives
Definition fragments.hh:136
Prim FragmentBaseType
Definition fragments.hh:134
unsigned count
Definition fragments.hh:137
Definition fragments.hh:99
Prim primitive
Definition fragments.hh:110
constexpr size_t getActualFragmentSize() const
Definition fragments.hh:109
SimpleFragment(Args &&...args)
Definition fragments.hh:102
SimpleFragment(const SimpleFragment &)=default
constexpr size_t maxSize() const
Definition fragments.hh:100
Prim FragmentBaseType
Definition fragments.hh:108
void uint32_t(classId, spec)