8 struct TypeDescriptor_FixedArray : TypeDescriptor {
10 TypeDescriptor* itemType;
12 void* (*getItem)(
const void*, size_t);
13 void (*emplaceBack)(
void*);
15 template <
typename ItemType,
size_t N>
16 TypeDescriptor_FixedArray(ItemType(*)[N])
17 : TypeDescriptor{
"FixedArray<>",
sizeof(ItemType) * N, ReflectionTypeData::FixedArray },
18 itemType{ TypeResolver<ItemType>::Get() },
19 name{ (std::string(TypeResolver<ItemType>::Get()->GetFullName()) +
"[" + std::to_string(N) +
"]").c_str()},
22 getItem = [](
const void* arrayPtr,
size_t index) ->
void* {
23 ItemType* vec = (ItemType*)(arrayPtr);
24 return (
void*)&vec[index];
28 virtual const char* GetFullName()
const override {