Files
UnrealEngine/Engine/Plugins/Experimental/PlainProps/Source/Private/PlainPropsInternalBuild.h
2025-05-18 13:04:45 +08:00

34 lines
907 B
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "PlainPropsBuild.h"
#include "Containers/Array.h"
#include "Containers/UnrealString.h"
namespace PlainProps
{
struct FBuiltStruct
{
~FBuiltStruct() = delete; // Allocated in FScratchAllocator
uint16 NumMembers;
FBuiltMember Members[0];
};
struct FBuiltRange
{
~FBuiltRange() = delete; // Allocated in FScratchAllocator
[[nodiscard]] static FBuiltRange* Create(FScratchAllocator& Allocator, uint64 NumItems, SIZE_T ItemSize);
uint64 Num;
uint8 Data[0];
TConstArrayView64<const FBuiltRange*> AsRanges() const { return { reinterpret_cast<FBuiltRange const* const*>(Data), static_cast<int64>(Num) }; }
TConstArrayView64<const FBuiltStruct*> AsStructs() const { return { reinterpret_cast<FBuiltStruct const* const*>(Data), static_cast<int64>(Num) }; }
};
} // namespace PlainProps