// Copyright Epic Games, Inc. All Rights Reserved. #pragma once #include "CoreMinimal.h" #include "Serialization/BufferArchive.h" #include "Serialization/MemoryReader.h" namespace UE::PixelStreaming2Input { template struct TPayloadParser; template struct TPayloadParser> { template static void Parse(TupleType&& Tuple, FArchive& Ar) { ([](auto& Arg, FArchive& Ar) { Ar << Arg; }(Forward(Tuple).template Get(), Ar), ...); } }; template struct TPayload : public TTuple...> { TPayload(FArchive& Ar) { TPayloadParser>::Parse(*this, Ar); } }; } // namespace UE::PixelStreaming2Input