29#include <EASTL/array.h>
30#include <EASTL/utility.h>
66template <Primitive Prim>
68 constexpr size_t maxSize()
const {
return 1; }
69 template <
typename... Args>
71 static_assert(
sizeof(*this) == (
sizeof(
uint32_t) +
sizeof(Prim)),
"Spurious padding in simple fragment");
91template <Primitive Prim,
size_t N>
93 constexpr size_t maxSize()
const {
return N; }
95 static_assert(
sizeof(*this) == (
sizeof(unsigned) +
sizeof(
uint32_t) +
sizeof(Prim) * N),
96 "Spurious padding in fixed fragment");
120template <Primitive P, Primitive Prim,
size_t N>
122 constexpr size_t maxSize()
const {
return N; }
124 static_assert(
sizeof(*this) == (
sizeof(unsigned) +
sizeof(
uint32_t) +
sizeof(P) +
sizeof(Prim) * N),
125 "Spurious padding in fixed fragment");
Definition cdrom-loader.hh:39
A maximum fixed sized fragment of similar primitives.
Definition fragments.hh:121
size_t getActualFragmentSize() const
Definition fragments.hh:129
FixedFragmentWithPrologue(const FixedFragmentWithPrologue &)=default
FixedFragmentWithPrologue()
Definition fragments.hh:123
uint32_t head
Definition fragments.hh:131
unsigned count
Definition fragments.hh:130
eastl::array< Prim, N > primitives
Definition fragments.hh:133
P prologue
Definition fragments.hh:132
Prim FragmentBaseType
Definition fragments.hh:128
constexpr size_t maxSize() const
Definition fragments.hh:122
A maximum fixed sized fragment of similar primitives.
Definition fragments.hh:92
FixedFragment()
Definition fragments.hh:94
FixedFragment(const FixedFragment &)=default
constexpr size_t maxSize() const
Definition fragments.hh:93
size_t getActualFragmentSize() const
Definition fragments.hh:100
eastl::array< Prim, N > primitives
Definition fragments.hh:103
Prim FragmentBaseType
Definition fragments.hh:99
unsigned count
Definition fragments.hh:101
uint32_t head
Definition fragments.hh:102
A fragment containing a single primitive.
Definition fragments.hh:67
Prim primitive
Definition fragments.hh:77
uint32_t head
Definition fragments.hh:76
constexpr size_t getActualFragmentSize() const
Definition fragments.hh:75
SimpleFragment(Args &&...args)
Definition fragments.hh:70
SimpleFragment(const SimpleFragment &)=default
constexpr size_t maxSize() const
Definition fragments.hh:68
Prim FragmentBaseType
Definition fragments.hh:74
void uint32_t(classId, spec)