UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
MovieSceneTemplateInterrogation.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "Containers/Array.h"
6#include "CoreMinimal.h"
8#include "HAL/Platform.h"
9#include "Misc/InlineValue.h"
10#include "Misc/Optional.h"
11#include "Templates/Decay.h"
14
15class UObject;
18template<typename T> struct TMovieSceneInterrogationIterator;
19
45
52
53template<typename T>
64
110
111
112template<typename DataType>
114{
122
124 {
125 NextElement();
126 return *this;
127 }
128
129 const DataType& operator*() const
130 {
131 return static_cast<const TMovieSceneInterrogationToken<DataType>&>(Container.TokenData[Index].GetValue()).Data;
132 }
133
134 const DataType* operator->() const
135 {
136 return &static_cast<const TMovieSceneInterrogationToken<DataType>&>(Container.TokenData[Index].GetValue()).Data;
137 }
138
139 inline explicit operator bool() const
140 {
141 return Container.TokenData.IsValidIndex(Index);
142 }
143
144 inline bool operator!() const
145 {
146 return !(bool)*this;
147 }
148
149 inline friend bool operator==(const TMovieSceneInterrogationIterator& LHS, const TMovieSceneInterrogationIterator& RHS) { return &LHS.Container == &RHS.Container && LHS.Index == RHS.Index; }
150 inline friend bool operator!=(const TMovieSceneInterrogationIterator& LHS, const TMovieSceneInterrogationIterator& RHS) { return &LHS.Container != &RHS.Container || LHS.Index != RHS.Index; }
151
154
156 {
157 while (Container.TokenData.IsValidIndex(++Index))
158 {
159 if (!PredicateKey.IsSet() || Container.TokenData[Index]->Key == PredicateKey)
160 {
161 break;
162 }
163 }
164
165 if (!Container.TokenData.IsValidIndex(Index))
166 {
167 Index = -1;
168 }
169 }
170
171private:
172 const FMovieSceneInterrogationData& Container;
174 int32 Index;
175};
176
177
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
T * New(FMemStackBase &Mem, int32 Count=1, int32 Align=DEFAULT_ALIGNMENT)
Definition MemStack.h:259
const bool
Definition NetworkReplayStreaming.h:178
Definition Array.h:670
UE_NODEBUG UE_FORCEINLINE_HINT SizeType Add(ElementType &&Item)
Definition Array.h:2696
UE_NODEBUG UE_FORCEINLINE_HINT bool IsValidIndex(SizeType Index) const
Definition Array.h:1122
UE_NODEBUG TConstIterator CreateConstIterator() const
Definition Array.h:3365
Definition Array.h:64
Definition SharedPointer.h:692
Definition Object.h:95
U16 Index
Definition radfft.cpp:71
Definition MovieSceneAnimTypeID.h:20
Definition MovieSceneBlendingAccumulator.h:26
Definition MovieScenePlayback.h:184
Definition MovieSceneTemplateInterrogation.h:70
MOVIESCENE_API FMovieSceneBlendingAccumulator & GetAccumulator()
Definition MovieSceneTemplateInterrogation.cpp:14
TArray< TInlineValue< IMovieSceneInterrogationToken > >::TConstIterator Iterate() const
Definition MovieSceneTemplateInterrogation.h:83
TMovieSceneInterrogationIterator< T > Iterate(FMovieSceneInterrogationKey Key) const
Definition MovieSceneTemplateInterrogation.h:93
void Add(T &&InData, FMovieSceneInterrogationKey Key)
Definition MovieSceneTemplateInterrogation.h:76
Definition MovieSceneTemplateInterrogation.h:22
friend bool operator==(FMovieSceneInterrogationKey A, FMovieSceneInterrogationKey B)
Definition MovieSceneTemplateInterrogation.h:30
FMovieSceneInterrogationKey(FMovieSceneAnimTypeID InAnimTypeID)
Definition MovieSceneTemplateInterrogation.h:26
friend bool operator!=(FMovieSceneInterrogationKey A, FMovieSceneInterrogationKey B)
Definition MovieSceneTemplateInterrogation.h:34
static MOVIESCENE_API FMovieSceneInterrogationKey GetTransformInterrogationKey()
Definition MovieSceneTemplateInterrogation.cpp:24
FMovieSceneAnimTypeID AnimTypeID
Definition MovieSceneTemplateInterrogation.h:24
Definition MovieSceneTemplateInterrogation.h:48
FMovieSceneInterrogationKey Key
Definition MovieSceneTemplateInterrogation.h:49
IMovieSceneInterrogationToken(FMovieSceneInterrogationKey InKey)
Definition MovieSceneTemplateInterrogation.h:50
UE::Core::Private::Decay::TDecayNonReference< typenameTRemoveReference< T >::Type >::Type Type
Definition Decay.h:45
Definition MovieSceneTemplateInterrogation.h:114
bool operator!() const
Definition MovieSceneTemplateInterrogation.h:144
friend bool operator!=(const TMovieSceneInterrogationIterator &LHS, const TMovieSceneInterrogationIterator &RHS)
Definition MovieSceneTemplateInterrogation.h:150
const DataType & operator*() const
Definition MovieSceneTemplateInterrogation.h:129
const DataType * operator->() const
Definition MovieSceneTemplateInterrogation.h:134
TMovieSceneInterrogationIterator(const FMovieSceneInterrogationData &InContainer, FMovieSceneInterrogationKey InPredicateKey)
Definition MovieSceneTemplateInterrogation.h:115
friend TMovieSceneInterrogationIterator< DataType > begin(const TMovieSceneInterrogationIterator< DataType > &In)
Definition MovieSceneTemplateInterrogation.h:152
friend bool operator==(const TMovieSceneInterrogationIterator &LHS, const TMovieSceneInterrogationIterator &RHS)
Definition MovieSceneTemplateInterrogation.h:149
void NextElement()
Definition MovieSceneTemplateInterrogation.h:155
TMovieSceneInterrogationIterator & operator++()
Definition MovieSceneTemplateInterrogation.h:123
friend TMovieSceneInterrogationIterator< DataType > end(const TMovieSceneInterrogationIterator< DataType > &In)
Definition MovieSceneTemplateInterrogation.h:153
Definition MovieSceneTemplateInterrogation.h:55
T Data
Definition MovieSceneTemplateInterrogation.h:56
TMovieSceneInterrogationToken(U &&In, FMovieSceneInterrogationKey InKey)
Definition MovieSceneTemplateInterrogation.h:58
Definition Optional.h:131
constexpr bool IsSet() const
Definition Optional.h:69