9#include "Containers/Array.h"
11#include "Containers/Map.h"
131 return !(*
this ==
Other);
295 bool IsWildcardMatch()
const
301 bool IsPrefixMatch()
const
307 bool IsSuffixMatch()
const
406 UE_DEPRECATED(5.6,
"Use GetHashOfRedirectsAffectingPackages(const TConstArrayView<FName> PackageNames, TArray<FBlake3Hash>& Hashes) instead.")
493 struct FRedirectNameMap
502 struct FRedirectTypeMap
505 FRedirectTypeMap() =
default;
506 FRedirectTypeMap(
const FRedirectTypeMap&
Other);
507 FRedirectTypeMap& operator=(
const FRedirectTypeMap&
Other);
515 FRedirectTypeMap(
const FRedirectTypeMap&&
Other) =
delete;
516 FRedirectTypeMap& operator=(
const FRedirectTypeMap&&
Other) =
delete;
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
ECoreRedirectMatchFlags
Definition CoreRedirects.h:72
@ DisallowPartialLHSMatch
ECoreRedirectFlags
Definition CoreRedirects.h:41
@ Option_MatchWildcardMask
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
constexpr bool EnumHasAnyFlags(Enum Flags, Enum Contains)
Definition EnumClassFlags.h:35
constexpr bool EnumHasAllFlags(Enum Flags, Enum Contains)
Definition EnumClassFlags.h:28
#define ENUM_CLASS_FLAGS(Enum)
Definition EnumClassFlags.h:6
#define DECLARE_LOG_CATEGORY_EXTERN(CategoryName, DefaultVerbosity, CompileTimeVerbosity)
Definition LogMacros.h:361
constexpr uint32 HashCombine(uint32 A, uint32 C)
Definition TypeHash.h:36
Definition NameTypes.h:617
Definition GenericPlatformFile.h:1020
Definition ArrayView.h:139
Definition UnrealString.h.inl:34
Definition SharedPointer.h:692
Definition SoftObjectPath.cpp:24
Definition CoreRedirects.cpp:69
Definition CoreRedirects.h:88
FCoreRedirectObjectName(FName InObjectName, FName InOuterName, FName InPackageName)
Definition CoreRedirects.h:102
FName ObjectName
Definition CoreRedirects.h:90
FName OuterName
Definition CoreRedirects.h:93
COREUOBJECT_API void Reset()
Definition CoreRedirects.cpp:502
bool operator==(const FCoreRedirectObjectName &Other) const
Definition CoreRedirects.h:124
COREUOBJECT_API void AppendHash(FBlake3 &Hasher) const
Definition CoreRedirects.cpp:1549
FName PackageName
Definition CoreRedirects.h:96
static COREUOBJECT_API FCoreRedirectObjectName GetParent(const FCoreRedirectObjectName &Child)
Definition CoreRedirects.cpp:1150
bool IsValid() const
Definition CoreRedirects.h:183
static COREUOBJECT_API bool ExpandNames(const FStringView FullString, FName &OutName, FName &OutOuter, FName &OutPackage)
Definition CoreRedirects.cpp:897
COREUOBJECT_API bool Matches(const FCoreRedirectObjectName &Other, EMatchFlags MatchFlags=EMatchFlags::None) const
Definition CoreRedirects.cpp:676
static COREUOBJECT_API FCoreRedirectObjectName AppendObjectName(const FCoreRedirectObjectName &Parent, FName ObjectName)
Definition CoreRedirects.cpp:1077
FCoreRedirectObjectName()=default
COREUOBJECT_API void UnionFieldsInline(const FCoreRedirectObjectName &Other)
Definition CoreRedirects.cpp:846
COREUOBJECT_API FString ToString() const
Definition CoreRedirects.cpp:497
static COREUOBJECT_API FString CombineNames(FName NewName, FName NewOuter, FName NewPackage)
Definition CoreRedirects.cpp:962
friend uint32 GetTypeHash(const FCoreRedirectObjectName &RedirectName)
Definition CoreRedirects.h:188
bool operator!=(const FCoreRedirectObjectName &Other) const
Definition CoreRedirects.h:129
COREUOBJECT_API int Compare(const FCoreRedirectObjectName &Other) const
Definition CoreRedirects.cpp:1575
EMatchFlags
Definition CoreRedirects.h:139
@ DisallowPartialLHSMatch
COREUOBJECT_API int32 MatchScore(const FCoreRedirectObjectName &Other, ECoreRedirectFlags RedirectFlags, ECoreRedirectMatchFlags MatchFlags) const
Definition CoreRedirects.cpp:779
COREUOBJECT_API bool HasValidCharacters(ECoreRedirectFlags Type) const
Definition CoreRedirects.cpp:872
FName GetSearchKey(ECoreRedirectFlags Type) const
Definition CoreRedirects.cpp:862
Definition CoreRedirects.h:220
COREUOBJECT_API int Compare(const FCoreRedirect &Other) const
Definition CoreRedirects.cpp:1519
FCoreRedirect(ECoreRedirectFlags InRedirectFlags, const FCoreRedirectObjectName &InOldName, const FCoreRedirectObjectName &InNewName)
Definition CoreRedirects.h:244
COREUOBJECT_API bool IsSubstringMatch() const
Definition CoreRedirects.cpp:1390
COREUOBJECT_API bool IdenticalMatchRules(const FCoreRedirect &Other) const
Definition CoreRedirects.cpp:1498
COREUOBJECT_API FCoreRedirectObjectName RedirectName(const FCoreRedirectObjectName &OldObjectName) const
Definition CoreRedirects.cpp:1493
TMap< FString, FString > ValueChanges
Definition CoreRedirects.h:234
COREUOBJECT_API bool Matches(ECoreRedirectFlags InFlags, const FCoreRedirectObjectName &InName, ECoreRedirectMatchFlags MatchFlags=ECoreRedirectMatchFlags::None) const
Definition CoreRedirects.cpp:1338
FCoreRedirectObjectName NewName
Definition CoreRedirects.h:228
FName GetSearchKey() const
Definition CoreRedirects.h:276
friend class FRedirectionSummary
Definition CoreRedirects.h:288
COREUOBJECT_API bool HasValueChanges() const
Definition CoreRedirects.cpp:1385
ECoreRedirectFlags RedirectFlags
Definition CoreRedirects.h:222
COREUOBJECT_API const TCHAR * ParseValueChanges(const TCHAR *Buffer)
Definition CoreRedirects.cpp:1259
COREUOBJECT_API void NormalizeNewName()
Definition CoreRedirects.cpp:1242
COREUOBJECT_API void AppendHash(FBlake3 &Hasher) const
Definition CoreRedirects.cpp:1504
FCoreRedirectObjectName OverrideClassName
Definition CoreRedirects.h:231
FCoreRedirectObjectName OldName
Definition CoreRedirects.h:225
FCoreRedirect(ECoreRedirectFlags InRedirectFlags, FString InOldName, FString InNewName)
Definition CoreRedirects.h:237
Definition CoreRedirectsContext.h:21
Definition CoreRedirects.h:317
static COREUOBJECT_API bool IsKnownMissing(ECoreRedirectFlags Type, const FCoreRedirectObjectName &ObjectName)
Definition CoreRedirects.cpp:1975
static COREUOBJECT_API bool GetMatchingRedirects(ECoreRedirectFlags Type, const FCoreRedirectObjectName &OldObjectName, TArray< const FCoreRedirect * > &FoundRedirects, ECoreRedirectMatchFlags MatchFlags=ECoreRedirectMatchFlags::None)
Definition CoreRedirects.cpp:1821
static COREUOBJECT_API bool AddRedirectList(TArrayView< const FCoreRedirect > Redirects, const FString &SourceString)
Definition CoreRedirects.cpp:2686
static COREUOBJECT_API bool RunTests()
Definition CoreRedirects.cpp:2067
static COREUOBJECT_API bool ReadRedirectsFromIni(const FString &IniName)
Definition CoreRedirects.cpp:2541
static COREUOBJECT_API bool RemoveKnownMissing(ECoreRedirectFlags Type, const FCoreRedirectObjectName &ObjectName, ECoreRedirectFlags Channel=ECoreRedirectFlags::Option_MissingLoad)
Definition CoreRedirects.cpp:1992
static COREUOBJECT_API bool RedirectNameAndValues(ECoreRedirectFlags Type, const FCoreRedirectObjectName &OldObjectName, FCoreRedirectObjectName &NewObjectName, const FCoreRedirect **FoundValueRedirect, ECoreRedirectMatchFlags MatchFlags=ECoreRedirectMatchFlags::None)
Definition CoreRedirects.cpp:1692
static COREUOBJECT_API void ValidateAllRedirects()
Definition CoreRedirects.cpp:3074
static COREUOBJECT_API bool IsInDebugMode()
Definition CoreRedirects.cpp:2905
static COREUOBJECT_API void Initialize()
Definition CoreRedirects.cpp:1676
static COREUOBJECT_API const TMap< FString, FString > * GetValueRedirects(ECoreRedirectFlags Type, const FCoreRedirectObjectName &OldObjectName, ECoreRedirectMatchFlags MatchFlags=ECoreRedirectMatchFlags::None)
Definition CoreRedirects.cpp:1801
static COREUOBJECT_API ECoreRedirectFlags GetFlagsForTypeName(FName PackageName, FName TypeName)
Definition CoreRedirects.cpp:3108
static COREUOBJECT_API bool RemoveRedirectList(TArrayView< const FCoreRedirect > Redirects, const FString &SourceString)
Definition CoreRedirects.cpp:2856
static COREUOBJECT_API void AddAssetRedirects(const TMap< FSoftObjectPath, FSoftObjectPath > &InRedirects)
Definition CoreRedirects.cpp:2455
static COREUOBJECT_API const TMap< FName, ECoreRedirectFlags > & GetConfigKeyMap()
Definition CoreRedirects.cpp:3101
static COREUOBJECT_API FCoreRedirectObjectName GetRedirectedName(ECoreRedirectFlags Type, const FCoreRedirectObjectName &OldObjectName, ECoreRedirectMatchFlags MatchFlags=ECoreRedirectMatchFlags::None)
Definition CoreRedirects.cpp:1790
static COREUOBJECT_API void ClearKnownMissing(ECoreRedirectFlags Type, ECoreRedirectFlags Channel=ECoreRedirectFlags::Option_MissingLoad)
Definition CoreRedirects.cpp:2000
static COREUOBJECT_API ECoreRedirectFlags GetFlagsForTypeClass(UClass *TypeClass)
Definition CoreRedirects.cpp:3154
static COREUOBJECT_API bool IsInitialized()
Definition CoreRedirects.cpp:2900
static COREUOBJECT_API void ValidateRedirectList(TArrayView< const FCoreRedirect > Redirects, const FString &SourceString)
Definition CoreRedirects.cpp:2986
static COREUOBJECT_API void RemoveAllAssetRedirects()
Definition CoreRedirects.cpp:2528
static COREUOBJECT_API bool FindPreviousNames(ECoreRedirectFlags Type, const FCoreRedirectObjectName &NewObjectName, TArray< FCoreRedirectObjectName > &PreviousNames)
Definition CoreRedirects.cpp:1880
static COREUOBJECT_API bool AddKnownMissing(ECoreRedirectFlags Type, const FCoreRedirectObjectName &ObjectName, ECoreRedirectFlags Channel=ECoreRedirectFlags::Option_MissingLoad)
Definition CoreRedirects.cpp:1982
static COREUOBJECT_API bool ValidateAssetRedirects()
Definition CoreRedirects.cpp:3095
Definition CoreRedirectsContext.h:156
Definition CoreRedirectsContext.h:194
Definition SoftObjectPath.h:56
Definition TopLevelAssetPath.h:38
Definition CoreRedirects.cpp:138