6#include "Containers/Array.h"
20#include <initializer_list>
329template<
typename ...T,
int ...Indices>
341 TOptionalReadAccess<T>(ComponentTypes[Indices].ComponentType).LockComponentData(Allocation, WriteContext)...
346template<
typename... T>
382template<
typename... T>
430template<
typename... T>
446template<
typename... T>
480template<
typename... T>
488template<
typename... T>
544template<
typename... T>
552template<
typename... T>
579template<
typename... T>
589template<
typename... T>
628template<
typename... T>
638template<
typename... T>
663template<
typename... T>
673template<
typename... T>
684#if UE_MOVIESCENE_ENTITY_DEBUG
693 template<
typename... T>
703 OutString += FString::Printf(
TEXT(
"\n\tRead One Of: [ %s ]"), *FString::Join(Strings,
TEXT(
",")));
706 template<
typename... T>
716 OutString += FString::Printf(
TEXT(
"\n\tRead One Or More Of: [ %s ]"), *FString::Join(Strings,
TEXT(
",")));
#define checkSlow(expr)
Definition AssertionMacros.h:332
#define check(expr)
Definition AssertionMacros.h:314
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
typename UE4IntegerSequence_Private::TMakeIntegerSequenceImpl< T, N >::Type TMakeIntegerSequence
Definition IntegerSequence.h:31
const bool
Definition NetworkReplayStreaming.h:178
Definition MovieScene.Build.cs:6
UE_FORCEINLINE_HINT ElementType & Emplace_GetRef(ArgsType &&... Args) UE_LIFETIMEBOUND
Definition Array.h:2613
Definition MovieSceneEntityManager.h:81
TRelativePtr< void, uint32 > FPreLockedDataPtr
Definition IMovieSceneTaskScheduler.h:18
bool IsAccessorValid(const FEntityIDAccess *)
Definition MovieSceneComponentAccessors.h:612
auto GetComponentAtIndex(T *InAccessor, int32 Index) -> decltype(DeclVal< T >().ComponentAtIndex(0))
Definition MovieSceneComponentAccessors.h:601
void PopulatePrerequisites(const FEntityIDAccess *, const FSystemTaskPrerequisites &InPrerequisites, FGraphEventArray *OutGatheredPrereqs)
Definition MovieSceneComponentAccessors.h:464
void AddAccessorToFilter(const FEntityIDAccess *, FEntityComponentFilter *OutFilter)
Definition MovieSceneComponentAccessors.h:416
bool HasAccessorWork(const FEntityManager *, const FEntityIDAccess *)
Definition MovieSceneComponentAccessors.h:651
TComponentLock< FReadErasedOptional > FOptionalComponentReader
Definition MovieSceneComponentPtr.h:426
bool HasBeenWrittenToSince(const FEntityIDAccess *In, FEntityAllocation *Allocation, uint64 InSystemSerial)
Definition MovieSceneComponentAccessors.h:563
void PopulateReadWriteDependencies(const FEntityIDAccess *, FComponentMask &OutReadDependencies, FComponentMask &OutWriteDependencies)
Definition MovieSceneComponentAccessors.h:517
void PopulateSubsequents(const FWriteAccess *In, const FGraphEventRef &InEvent, FSystemSubsequentTasks &OutSubsequents)
Definition MovieSceneComponentAccessors.h:499
Definition AdvancedWidgetsModule.cpp:13
U16 Index
Definition radfft.cpp:71
Definition IntegerSequence.h:9
Definition RelativePtr.h:11
T * Resolve(const void *BasePtr) const
Definition RelativePtr.h:34
Definition MovieSceneComponentAccessors.h:31
FComponentTypeID ComponentType
Definition MovieSceneComponentAccessors.h:32
void PreLockComponentData(const FEntityAllocation *Allocation, FPreLockedDataPtr *PrelockedComponentData) const
Definition MovieSceneComponentAccessors.h:34
Definition MovieSceneEntityIDs.h:40
Definition MovieSceneEntityIDs.h:251
MOVIESCENE_API bool Passes(const FComponentMask &Type) const
Definition MovieSceneEntityIDs.cpp:16
Definition MovieSceneEntityIDs.h:174
TComponentTypeID< T > ReinterpretCast() const
Definition MovieSceneEntityIDs.h:501
static FComponentTypeID Invalid()
Definition MovieSceneEntityIDs.h:179
Definition MovieSceneEntitySystemTypes.h:977
MOVIESCENE_API const FComponentMask & GetAllocationType() const
Definition MovieSceneEntitySystemTypes.cpp:154
MOVIESCENE_API const FEntityAllocation * GetAllocation() const
Definition MovieSceneEntitySystemTypes.cpp:144
Definition MovieSceneEntitySystemTypes.h:425
Definition MovieSceneEntitySystemTypes.h:624
TComponentLock< TRead< T > > ReadComponents(TComponentTypeID< T > ComponentType) const
Definition MovieSceneEntitySystemTypes.h:877
bool HasStructureChangedSince(uint64 InSystemVersion) const
Definition MovieSceneEntitySystemTypes.h:777
TComponentLock< TWrite< T > > WriteComponents(TComponentTypeID< T > ComponentType, FEntityAllocationWriteContext InWriteContext) const
Definition MovieSceneEntitySystemTypes.h:900
const FComponentHeader & GetComponentHeaderChecked(FComponentTypeID ComponentTypeID) const
Definition MovieSceneEntitySystemTypes.h:714
TComponentLock< TReadOptional< T > > TryReadComponents(TComponentTypeID< T > ComponentType) const
Definition MovieSceneEntitySystemTypes.h:887
const FComponentHeader * FindComponentHeader(FComponentTypeID ComponentTypeID) const
Definition MovieSceneEntitySystemTypes.h:690
MOVIESCENE_API TComponentLock< FWriteErased > WriteComponentsErased(FComponentTypeID ComponentType, FEntityAllocationWriteContext InWriteContext) const
Definition MovieSceneEntitySystemTypes.cpp:118
MOVIESCENE_API TComponentLock< FReadErasedOptional > TryReadComponentsErased(FComponentTypeID ComponentType) const
Definition MovieSceneEntitySystemTypes.cpp:124
const void * GetComponentDataAddress() const
Definition MovieSceneEntitySystemTypes.h:757
MOVIESCENE_API TComponentLock< FReadErased > ReadComponentsErased(FComponentTypeID ComponentType) const
Definition MovieSceneEntitySystemTypes.cpp:112
TComponentLock< TWriteOptional< T > > TryWriteComponents(TComponentTypeID< T > ComponentType, FEntityAllocationWriteContext InWriteContext) const
Definition MovieSceneEntitySystemTypes.h:910
const FMovieSceneEntityID * GetRawEntityIDs() const
Definition MovieSceneEntitySystemTypes.h:748
Definition MovieSceneEntitySystemTypes.h:295
MOVIESCENE_API bool Match(const FComponentMask &Input) const
Definition MovieSceneEntitySystemTypes.cpp:43
Definition MovieSceneComponentAccessors.h:84
TRead< FMovieSceneEntityID > LockComponentData(const FEntityAllocation *Allocation, FEntityAllocationWriteContext WriteContext) const
Definition MovieSceneComponentAccessors.h:100
void PreLockComponentData(const FEntityAllocation *Allocation, FPreLockedDataPtr *PrelockedComponentData) const
Definition MovieSceneComponentAccessors.h:89
TRead< FMovieSceneEntityID > ResolvePreLockedComponentData(const FEntityAllocation *Allocation, const FPreLockedDataPtr *Ptr, FEntityAllocationWriteContext WriteContext) const
Definition MovieSceneComponentAccessors.h:94
static constexpr int32 PreLockedDataNum
Definition MovieSceneComponentAccessors.h:86
Definition MovieSceneComponentAccessors.h:187
FErasedOptionalReadAccess(FComponentTypeID InComponentTypeID, FComponentTypeIDFilter InCondition)
Definition MovieSceneComponentAccessors.h:192
static constexpr int32 PreLockedDataNum
Definition MovieSceneComponentAccessors.h:188
FReadErasedOptional ResolvePreLockedComponentData(const FEntityAllocation *Allocation, const FPreLockedDataPtr *Ptr, FEntityAllocationWriteContext WriteContext) const
Definition MovieSceneComponentAccessors.h:212
FComponentTypeIDFilter Condition
Definition MovieSceneComponentAccessors.h:190
FOptionalComponentReader LockComponentData(FEntityAllocationIteratorItem Item, FEntityAllocationWriteContext WriteContext) const
Definition MovieSceneComponentAccessors.h:217
void PreLockComponentData(FEntityAllocationIteratorItem Item, FPreLockedDataPtr *PrelockedComponentData) const
Definition MovieSceneComponentAccessors.h:197
Definition MovieSceneComponentAccessors.h:163
static constexpr int32 PreLockedDataNum
Definition MovieSceneComponentAccessors.h:164
FComponentReader LockComponentData(const FEntityAllocation *Allocation, FEntityAllocationWriteContext WriteContext) const
Definition MovieSceneComponentAccessors.h:181
void PreLockComponentData(const FEntityAllocation *Allocation, FPreLockedDataPtr *PrelockedComponentData) const
Definition MovieSceneComponentAccessors.h:170
FErasedReadAccess(FComponentTypeID InComponentTypeID)
Definition MovieSceneComponentAccessors.h:166
FReadErased ResolvePreLockedComponentData(const FEntityAllocation *Allocation, const FPreLockedDataPtr *Ptr, FEntityAllocationWriteContext WriteContext) const
Definition MovieSceneComponentAccessors.h:176
Definition MovieSceneComponentAccessors.h:229
FWriteErased ResolvePreLockedComponentData(const FEntityAllocation *Allocation, const FPreLockedDataPtr *Ptr, FEntityAllocationWriteContext WriteContext) const
Definition MovieSceneComponentAccessors.h:242
FComponentWriter LockComponentData(const FEntityAllocation *Allocation, FEntityAllocationWriteContext WriteContext) const
Definition MovieSceneComponentAccessors.h:247
static constexpr int32 PreLockedDataNum
Definition MovieSceneComponentAccessors.h:230
void PreLockComponentData(const FEntityAllocation *Allocation, FPreLockedDataPtr *PrelockedComponentData) const
Definition MovieSceneComponentAccessors.h:236
FErasedWriteAccess(FComponentTypeID InComponentTypeID)
Definition MovieSceneComponentAccessors.h:232
Definition MovieSceneComponentAccessors.h:107
bool ResolvePreLockedComponentData(const FEntityAllocation *Allocation, const FPreLockedDataPtr *Ptr, FEntityAllocationWriteContext WriteContext) const
Definition MovieSceneComponentAccessors.h:127
FEntityComponentFilter Filter
Definition MovieSceneComponentAccessors.h:137
bool AccessType
Definition MovieSceneComponentAccessors.h:108
bool LockComponentData(FEntityAllocationIteratorItem Item, FEntityAllocationWriteContext WriteContext) const
Definition MovieSceneComponentAccessors.h:132
void PreLockComponentData(FEntityAllocationIteratorItem Item, FPreLockedDataPtr *PrelockedComponentData) const
Definition MovieSceneComponentAccessors.h:111
Definition MovieSceneEntityIDs.h:302
Definition MovieSceneComponentAccessors.h:52
void PreLockComponentData(FEntityAllocationIteratorItem Item, FPreLockedDataPtr *PrelockedComponentData) const
Definition MovieSceneComponentAccessors.h:56
FComponentTypeID ComponentType
Definition MovieSceneComponentAccessors.h:53
FComponentTypeIDFilter Condition
Definition MovieSceneComponentAccessors.h:54
Definition MovieSceneComponentAccessors.h:74
FOptionalReadAccess(FComponentTypeID InComponentType, FComponentTypeIDFilter InConditionType=FComponentTypeIDFilter())
Definition MovieSceneComponentAccessors.h:75
Definition MovieSceneComponentAccessors.h:78
FOptionalWriteAccess(FComponentTypeID InComponentType, FComponentTypeIDFilter InConditionType=FComponentTypeIDFilter())
Definition MovieSceneComponentAccessors.h:79
Definition MovieSceneComponentAccessors.h:42
FReadAccess(FComponentTypeID InComponentType)
Definition MovieSceneComponentAccessors.h:43
Definition MovieSceneComponentPtr.h:171
Definition MovieSceneComponentPtr.h:137
Definition MovieSceneSystemTaskDependencies.h:98
Definition MovieSceneSystemTaskDependencies.h:29
Definition MovieSceneComponentAccessors.h:46
FWriteAccess(FComponentTypeID InComponentType)
Definition MovieSceneComponentAccessors.h:47
Definition MovieSceneComponentPtr.h:233
Definition MovieSceneComponentPtr.h:342
Definition MovieSceneComponentPtr.h:329
Definition MovieSceneComponentPtr.h:360
Definition MovieSceneComponentPtr.h:109
Definition MovieSceneEntityIDs.h:283
Definition MovieSceneComponentPtr.h:439
Definition MovieSceneComponentAccessors.h:282
static constexpr int32 PreLockedDataNum
Definition MovieSceneComponentAccessors.h:284
TComponentLock< TReadOptional< T > > LockComponentData(const FEntityAllocation *Allocation, FEntityAllocationWriteContext WriteContext) const
Definition MovieSceneComponentAccessors.h:295
const T AccessType
Definition MovieSceneComponentAccessors.h:283
TReadOptional< T > ResolvePreLockedComponentData(const FEntityAllocation *Allocation, const FPreLockedDataPtr *Ptr, FEntityAllocationWriteContext WriteContext) const
Definition MovieSceneComponentAccessors.h:290
TOptionalReadAccess(FComponentTypeID InComponentTypeID, FComponentTypeIDFilter InConditionType=FComponentTypeIDFilter())
Definition MovieSceneComponentAccessors.h:286
Definition MovieSceneComponentAccessors.h:306
T AccessType
Definition MovieSceneComponentAccessors.h:307
TWriteOptional< T > ResolvePreLockedComponentData(const FEntityAllocation *Allocation, const FPreLockedDataPtr *Ptr, FEntityAllocationWriteContext WriteContext) const
Definition MovieSceneComponentAccessors.h:314
TComponentLock< TWriteOptional< T > > LockComponentData(const FEntityAllocation *Allocation, FEntityAllocationWriteContext WriteContext) const
Definition MovieSceneComponentAccessors.h:319
TOptionalWriteAccess(FComponentTypeID InComponentTypeID, FComponentTypeIDFilter InConditionType=FComponentTypeIDFilter())
Definition MovieSceneComponentAccessors.h:310
static constexpr int32 PreLockedDataNum
Definition MovieSceneComponentAccessors.h:308
Definition MovieSceneComponentAccessors.h:142
TComponentLock< TRead< T > > LockComponentData(const FEntityAllocation *Allocation, FEntityAllocationWriteContext WriteContext) const
Definition MovieSceneComponentAccessors.h:155
TRead< T > ResolvePreLockedComponentData(const FEntityAllocation *Allocation, const FPreLockedDataPtr *Ptr, FEntityAllocationWriteContext WriteContext) const
Definition MovieSceneComponentAccessors.h:150
TReadAccess(FComponentTypeID InComponentTypeID)
Definition MovieSceneComponentAccessors.h:146
const T AccessType
Definition MovieSceneComponentAccessors.h:143
static constexpr int32 PreLockedDataNum
Definition MovieSceneComponentAccessors.h:144
Definition MovieSceneComponentAccessors.h:348
void PreLockComponentData(FEntityAllocationIteratorItem Item, FPreLockedDataPtr *PrelockedComponentData) const
Definition MovieSceneComponentAccessors.h:356
TReadOneOfAccessor(TComponentTypeID< T >... InComponentTypeIDs)
Definition MovieSceneComponentAccessors.h:352
FOptionalReadAccess ComponentTypes[sizeof...(T)]
Definition MovieSceneComponentAccessors.h:376
static constexpr int32 PreLockedDataNum
Definition MovieSceneComponentAccessors.h:350
TMultiComponentLock< TReadOptional< T >... > LockComponentData(const FEntityAllocation *Allocation, FEntityAllocationWriteContext WriteContext) const
Definition MovieSceneComponentAccessors.h:370
TMultiComponentData< TReadOptional< T >... > ResolvePreLockedComponentData(const FEntityAllocation *Allocation, const FPreLockedDataPtr *PrelockedComponentData, FEntityAllocationWriteContext WriteContext) const
Definition MovieSceneComponentAccessors.h:364
Definition MovieSceneComponentAccessors.h:384
TMultiComponentLock< TReadOptional< T >... > LockComponentData(const FEntityAllocation *Allocation, FEntityAllocationWriteContext WriteContext) const
Definition MovieSceneComponentAccessors.h:406
FOptionalReadAccess ComponentTypes[sizeof...(T)]
Definition MovieSceneComponentAccessors.h:412
TReadOneOrMoreOfAccessor(TComponentTypeID< T >... InComponentTypeIDs)
Definition MovieSceneComponentAccessors.h:388
void PreLockComponentData(FEntityAllocationIteratorItem Item, FPreLockedDataPtr *PrelockedComponentData) const
Definition MovieSceneComponentAccessors.h:392
static constexpr int32 PreLockedDataNum
Definition MovieSceneComponentAccessors.h:386
TMultiComponentData< TReadOptional< T >... > ResolvePreLockedComponentData(const FEntityAllocation *Allocation, const FPreLockedDataPtr *PrelockedComponentData, FEntityAllocationWriteContext WriteContext) const
Definition MovieSceneComponentAccessors.h:400
Definition MovieSceneComponentPtr.h:208
Definition MovieSceneComponentPtr.h:195
static TMultiComponentLock< TReadOptional< T >... > LockComponentData(const FEntityAllocation *Allocation, const FOptionalReadAccess *ComponentTypes, FEntityAllocationWriteContext WriteContext)
Definition MovieSceneComponentAccessors.h:338
static TMultiComponentData< TReadOptional< T >... > ResolvePreLockedComponentData(const FEntityAllocation *Allocation, const FOptionalReadAccess *ComponentTypes, const FPreLockedDataPtr *PrelockedComponentData, FEntityAllocationWriteContext WriteContext)
Definition MovieSceneComponentAccessors.h:332
Definition MovieSceneComponentAccessors.h:327
Definition MovieSceneComponentAccessors.h:258
TWrite< T > ResolvePreLockedComponentData(const FEntityAllocation *Allocation, const FPreLockedDataPtr *Ptr, FEntityAllocationWriteContext WriteContext) const
Definition MovieSceneComponentAccessors.h:266
TWriteAccess(FComponentTypeID InComponentTypeID)
Definition MovieSceneComponentAccessors.h:262
TComponentLock< TWrite< T > > LockComponentData(const FEntityAllocation *Allocation, FEntityAllocationWriteContext WriteContext) const
Definition MovieSceneComponentAccessors.h:271
T AccessType
Definition MovieSceneComponentAccessors.h:259
static constexpr int32 PreLockedDataNum
Definition MovieSceneComponentAccessors.h:260
Definition MovieSceneComponentPtr.h:300
Definition MovieSceneComponentPtr.h:288