UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
MovieSceneComponentTypeIDs.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
8
9namespace UE::MovieScene
10{
11
12namespace Private
13{
14 template<typename...>
16
17 template <typename T, int Index>
19
20 template <int Index>
22 {
23 template<typename Deduced>
28
29 template<typename DerivedType>
30 static FORCEINLINE auto Get(const DerivedType& In)
31 {
32 return GetImpl(In, In.GetTypes());
33 }
34 };
35
36 template<>
38 {
40 {
41 }
42 template<int Index>
43 FORCEINLINE void GetType() const
44 {
45 }
50 };
51
52
53 template<typename ...T, int... Indices>
54 struct TComponentTypeIDsImpl<TIntegerSequence<int, Indices...>, T...> : Private::TComponentGetterElement<T, Indices>...
55 {
56 template<int Index>
57 FORCEINLINE auto GetType() const
58 {
59 static_assert(Index < sizeof...(Indices), "Unable to retrieve a component type for an invalid index");
61 }
62
64 {
65 return Values[Index];
66 }
68 {
69 return MakeArrayView(Values);
70 }
72 {
73 (..., (Values[Indices] = InTypes));
74 }
75
76 protected:
77
78 static constexpr int32 SIZE = sizeof...(T);
79 FComponentTypeID Values[SIZE];
80 };
81
82} // namespace Private
83
84template<typename ...T>
86
87
88} // namespace UE::MovieScene
89
90
#define FORCEINLINE
Definition AndroidPlatform.h:140
constexpr auto MakeArrayView(OtherRangeType &&Other)
Definition ArrayView.h:873
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
typename UE4IntegerSequence_Private::TMakeIntegerSequenceImpl< T, N >::Type TMakeIntegerSequence
Definition IntegerSequence.h:31
Definition ArrayView.h:139
Definition OverriddenPropertySet.cpp:45
Definition ConstraintsManager.h:14
U16 Index
Definition radfft.cpp:71
Definition IntegerSequence.h:9
Definition MovieSceneEntityIDs.h:174
Definition MovieSceneComponentTypeIDs.h:18
Definition MovieSceneComponentTypeIDs.h:22
static FORCEINLINE auto Get(const DerivedType &In)
Definition MovieSceneComponentTypeIDs.h:30
static FORCEINLINE TComponentTypeID< Deduced > GetImpl(const TComponentGetterElement< Deduced, Index > &, TArrayView< const FComponentTypeID > Values)
Definition MovieSceneComponentTypeIDs.h:24
FORCEINLINE FComponentTypeID GetType(int Index) const
Definition MovieSceneComponentTypeIDs.h:63
TArrayView< const FComponentTypeID > GetTypes() const
Definition MovieSceneComponentTypeIDs.h:67
FORCEINLINE auto GetType() const
Definition MovieSceneComponentTypeIDs.h:57
void Initialize(TComponentTypeID< T >... InTypes)
Definition MovieSceneComponentTypeIDs.h:71
FORCEINLINE void GetType() const
Definition MovieSceneComponentTypeIDs.h:43
static FORCEINLINE TArrayView< const FComponentTypeID > GetTypes()
Definition MovieSceneComponentTypeIDs.h:46
void Initialize()
Definition MovieSceneComponentTypeIDs.h:39
Definition MovieSceneComponentTypeIDs.h:15
Definition MovieSceneEntityIDs.h:283