5#include "Containers/Array.h"
28 template <
typename BufferType>
29 using CanAppendBufferType = std::bool_constant<
30 std::is_same_v<FCompositeBuffer, BufferType> ||
31 std::is_same_v<FSharedBuffer, BufferType> ||
41 std::enable_if_t<std::conjunction_v<CanAppendBufferType<std::decay_t<BufferTypes>>...>>* =
nullptr>
44 if constexpr (
sizeof...(Buffers) > 0)
139 template <
typename BufferType, decltype(std::declval<TArray<FSharedBuffer>>().Append(std::declval<BufferType>()))* =
nullptr>
141 template <
typename BufferType, decltype(std::declval<TArray<FSharedBuffer>>().Append(std::declval<BufferType>()))* =
nullptr>
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
const bool
Definition NetworkReplayStreaming.h:178
#define MAX_uint64
Definition NumericLimits.h:22
auto GetNum(const TStringConversion< Converter, DefaultConversionSize > &Conversion) -> decltype(Conversion.Length())
Definition StringConv.h:808
UE_INTRINSIC_CAST UE_REWRITE constexpr std::remove_reference_t< T > && MoveTemp(T &&Obj) noexcept
Definition UnrealTemplate.h:520
uint32 Offset
Definition VulkanMemory.cpp:4033
uint32 Size
Definition VulkanMemory.cpp:4034
Definition CompositeBuffer.h:27
CORE_API ~FCompositeBuffer()
CORE_API FCompositeBuffer Mid(uint64 Offset, uint64 Size=MAX_uint64) const
Definition CompositeBuffer.cpp:71
TConstArrayView< FSharedBuffer > GetSegments() const
Definition CompositeBuffer.h:62
CORE_API void Reset()
Definition CompositeBuffer.cpp:18
CORE_API void IterateRange(uint64 Offset, uint64 Size, TFunctionRef< void(FMemoryView View)> Visitor) const
Definition CompositeBuffer.cpp:129
CORE_API uint64 GetSize() const
Definition CompositeBuffer.cpp:23
CORE_API bool EqualBytes(const FCompositeBuffer &Other) const
Definition CompositeBuffer.cpp:162
static CORE_API const FCompositeBuffer Null
Definition CompositeBuffer.h:128
FCompositeBuffer(BufferTypes &&... Buffers)
Definition CompositeBuffer.h:42
CORE_API FSharedBuffer ToShared() const &
Definition CompositeBuffer.cpp:47
CORE_API void CopyTo(FMutableMemoryView Target, uint64 Offset=0) const
Definition CompositeBuffer.cpp:121
CORE_API FCompositeBuffer MakeOwned() const &
Definition CompositeBuffer.cpp:33
CORE_API bool IsOwned() const
Definition CompositeBuffer.cpp:28
CORE_API FMemoryView ViewOrCopyRange(uint64 Offset, uint64 Size, FUniqueBuffer &CopyBuffer) const
Definition CompositeBuffer.cpp:84
bool IsNull() const
Definition CompositeBuffer.h:68
Definition SharedBuffer.h:341
bool IsNull() const
Definition SharedBuffer.h:402
Definition SharedBuffer.h:218
Definition AssetRegistryState.h:50