UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
TiedTupleOutput.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "CoreTypes.h"
6#include "Templates/Tuple.h"
7
8namespace Algo
9{
10 namespace Private
11 {
12 template <typename... OutputTypes>
14 {
15 template <typename TupleType>
16 void Add(TupleType&& Values)
17 {
18 static_assert(TIsTuple<TupleType>::Value);
19 static_assert(sizeof...(OutputTypes) == TTupleArity<typename TDecay<TupleType>::Type>::Value, "Wrong length of tuple for output");
20
22 [](auto& Output, auto&& Value)
23 {
24 Output.Add(Forward<decltype(Value)>(Value));
25 },
26 Outputs,
27 Forward<TupleType>(Values)
28 );
29 }
30
32 };
33 }
34
35
51 template <typename... OutputTypes>
53 {
54 return { { Outputs... } };
55 }
56}
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
UE_FORCEINLINE_HINT void VisitTupleElements(FuncType &&Func, FirstTupleType &&FirstTuple, TupleTypes &&... Tuples)
Definition Tuple.h:878
Definition ParallelSort.h:13
Private::TTiedTupleAdder< OutputTypes... > TieTupleAdd(OutputTypes &... Outputs)
Definition TiedTupleOutput.h:52
Definition OverriddenPropertySet.cpp:45
Definition TiedTupleOutput.h:14
void Add(TupleType &&Values)
Definition TiedTupleOutput.h:16
TTuple< OutputTypes &... > Outputs
Definition TiedTupleOutput.h:31
UE::Core::Private::Decay::TDecayNonReference< typenameTRemoveReference< T >::Type >::Type Type
Definition Decay.h:45
Definition Tuple.h:913
Definition Tuple.h:752
Definition Tuple.h:652