63 if (!GetFactories().Contains(
TypeId))
234template<
typename DerivedType,
typename ValueType>
241 static bool bRegistered =
false;
254 static inline void RegisterType()
258 FString
ImplName = DerivedType::GetSplineTypeName();
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
UE::FPlatformRecursiveMutex FCriticalSection
Definition CriticalSection.h:53
#define UE_LOG(CategoryName, Verbosity, Format,...)
Definition LogMacros.h:270
UE_INTRINSIC_CAST UE_REWRITE constexpr std::remove_reference_t< T > && MoveTemp(T &&Obj) noexcept
Definition UnrealTemplate.h:520
FRWLock Lock
Definition UnversionedPropertySerialization.cpp:921
Definition ScopeLock.h:141
Definition AndroidPlatformMisc.h:14
Definition UnrealString.h.inl:34
Definition UniquePtr.h:107
static bool CheckTypeIdConflict(IdType TypeId, const FString &ImplName, const FString &ValueTypeName, const FString &ExistingImplName, const FString &ExistingValueTypeName)
Definition SplineTypeId.h:96
uint32 IdType
Definition SplineTypeId.h:33
Definition SplineTypeRegistry.h:23
FSplineTypeId::IdType TypeId
Definition SplineTypeRegistry.h:26
static bool GetTypeNames(TypeId TypeId, FString &OutImplName, FString &OutValueTypeName)
Definition SplineTypeRegistry.h:149
static TypeId GetTypeId(const FString &ImplName, const FString &ValueTypeName)
Definition SplineTypeRegistry.h:173
static TUniquePtr< ISplineInterface > CreateSpline(const FString &ImplName, const FString &ValueTypeName)
Definition SplineTypeRegistry.h:122
static bool RegisterType(TypeId TypeId, const FString &ImplName, const FString &ValueTypeName, FactoryFunction Factory)
Definition SplineTypeRegistry.h:42
static TUniquePtr< ISplineInterface > CreateSpline(TypeId TypeId)
Definition SplineTypeRegistry.h:90
Definition SplineTypeRegistry.h:236
TSelfRegisteringSpline()
Definition SplineTypeRegistry.h:239
virtual ~TSelfRegisteringSpline()=default
Definition AdvancedWidgetsModule.cpp:13
Definition SplineTypeId.h:21