90 checkf(!AutoRTFM::IsClosed() || !AutoRTFM::IsOnCurrentTransactionStack(
this),
TEXT(
"Not allowed to construct a stack local within a transaction."));
153 template <
typename ValueType>
154 struct FCaseSensitiveFuncs :
BaseKeyFuncs<ValueType, FString, false>
156 template<
typename KeyType>
162 static bool Matches(
const FString&
A,
const FString&
B)
170 static uint32 GetKeyHash(
const FString& Key)
190 return (
A.GetDisplayIndex() ==
B.GetDisplayIndex()) & (
A.GetNumber() ==
B.GetNumber());
197 static bool Matches(
const FNumberlessExportPath&
A,
const FNumberlessExportPath&
B)
203 return Matches(
A.ClassPath.GetPackageName(),
B.ClassPath.GetPackageName()) &
Matches(
A.ClassPath.GetAssetName(),
B.ClassPath.GetAssetName()) &
Matches(
A.Package,
B.Package) &
Matches(
A.Object,
B.Object);
206 static uint32 GetKeyHash(
const FNumberlessExportPath& Key)
215 static bool Matches(
const FMarshalledText&
A,
const FMarshalledText&
B)
217 return Matches(
A.GetAsComplexString(),
B.GetAsComplexString());
220 static uint32 GetKeyHash(
const FMarshalledText& Key)
222 return GetKeyHash(
Key.GetAsComplexString());
226 struct FStringIndexer
238 const FOptions Options;
239 FStringIndexer AnsiStrings;
240 FStringIndexer WideStrings;
250 bool bFinalized =
false;
#define checkf(expr, format,...)
Definition AssertionMacros.h:315
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
UE_INTRINSIC_CAST UE_REWRITE constexpr std::remove_reference_t< T > && MoveTemp(T &&Obj) noexcept
Definition UnrealTemplate.h:520
Definition Archive.h:1208
Definition AssetDataTagMap.h:303
Definition AssetDataTagMap.h:182
Definition NameTypes.h:617
Definition ThreadSafeCounter.h:14
int32 Increment()
Definition ThreadSafeCounter.h:52
int32 Decrement()
Definition ThreadSafeCounter.h:75
Definition AssetDataTagMapSerializationDetails.h:267
COREUOBJECT_API TRefCountPtr< const FStore > LoadFinalData(FArchive &Ar, FAssetRegistryVersion::Type HeaderVersion)
Definition AssetDataTagMap.cpp:1376
COREUOBJECT_API FAsyncStoreLoader()
Definition AssetDataTagMap.cpp:1349
COREUOBJECT_API TFuture< void > ReadInitialDataAndKickLoad(FArchive &Ar, uint32 MaxWorkerTasks, FAssetRegistryVersion::Type HeaderVersion)
Definition AssetDataTagMap.cpp:1353
Definition AssetDataTagMapSerializationDetails.h:28
COREUOBJECT_API int32 CompareToCaseIgnored(const FMarshalledText &Other) const
Definition AssetDataTagMap.cpp:207
FMarshalledText()=default
COREUOBJECT_API FText GetAsText() const
Definition AssetDataTagMap.cpp:197
COREUOBJECT_API const FUtf8String & GetAsComplexString() const
Definition AssetDataTagMap.cpp:192
COREUOBJECT_API int64 GetResourceSize() const
Definition AssetDataTagMap.cpp:202
Definition AssetDataTagMapSerializationDetails.h:141
COREUOBJECT_API FStoreData Finalize()
Definition AssetDataTagMap.cpp:853
COREUOBJECT_API FPartialMapHandle AddTagMap(const FAssetDataTagMapSharedView &Map)
Definition AssetDataTagMap.cpp:754
FStoreBuilder(const FOptions &InOptions)
Definition AssetDataTagMapSerializationDetails.h:143
FStoreBuilder(FOptions &&InOptions)
Definition AssetDataTagMapSerializationDetails.h:144
Definition AssetDataTagMap.cpp:378
Definition ArrayView.h:139
Definition UnrealString.h.inl:34
Definition RefCounting.h:454
@ CaseSensitive
Definition CString.h:23
Definition AssetDataTagMap.cpp:170
uint32 HashCaseSensitive(const TCHAR *Str, int32 Len)
Definition AssetDataTagMap.cpp:217
void SaveStore(const FStoreData &Store, FArchive &Ar)
Definition AssetDataTagMap.cpp:1312
uint32 HashCombineQuick(uint32 A, uint32 B)
Definition AssetDataTagMap.cpp:227
@ Member
Definition AssetDataTagMap.cpp:938
@ TextFirst
Definition AssetDataTagMap.cpp:938
TRefCountPtr< const FStore > LoadStore(FArchive &Ar, FAssetRegistryVersion::Type Version)
Definition AssetDataTagMap.cpp:1318
uint32 GetTypeHash(const FNumberlessExportPath &Export)
struct COREUOBJECT_API alignas(uint64) FMapHandle
Definition AssetDataTagMap.h:134
ELoadOrder
Definition AssetDataTagMapSerializationDetails.h:255
TRefCountPtr< const FStore > InitializeFromBuilder(FStoreBuilder &InBuilder)
Definition AssetDataTagMap.cpp:1390
VERSECOMPILER_API bool Matches(const CTypeBase *PositiveType1, const CTypeBase *NegativeType2, const uint32_t UploadedAtFnVersion)
Determine if argument PositiveType1 is a match for parameter NegativeType2
Definition SemanticTypes.cpp:2971
U16 Index
Definition radfft.cpp:71
Definition SetUtilities.h:23
FString KeyType
Definition SetUtilities.h:24
Definition AssetDataTagMap.h:27
Definition AssetRegistryState.h:58
Type
Definition AssetData.h:73
@ LatestVersion
Definition AssetData.h:111
Definition NameTypes.h:69
Definition AssetDataTagMapSerializationDetails.h:17
FName Class
Definition AssetDataTagMapSerializationDetails.h:18
FName Object
Definition AssetDataTagMapSerializationDetails.h:20
FName Package
Definition AssetDataTagMapSerializationDetails.h:19
Definition AssetDataTagMapSerializationDetails.h:99
TSet< FName > StoreAsPath
Definition AssetDataTagMapSerializationDetails.h:101
TSet< FName > StoreAsName
Definition AssetDataTagMapSerializationDetails.h:100
Definition AssetDataTagMapSerializationDetails.h:119
TArray< FNumberlessPair > NumberlessPairs
Definition AssetDataTagMapSerializationDetails.h:121
TArray< FName > Names
Definition AssetDataTagMapSerializationDetails.h:128
TArray< uint32 > WideStringOffsets
Definition AssetDataTagMapSerializationDetails.h:125
TArray< FDisplayNameEntryId > NumberlessNames
Definition AssetDataTagMapSerializationDetails.h:127
TArray< FNumberlessExportPath > NumberlessExportPaths
Definition AssetDataTagMapSerializationDetails.h:129
TArray< FMarshalledText > Texts
Definition AssetDataTagMapSerializationDetails.h:131
TArray< ANSICHAR > AnsiStrings
Definition AssetDataTagMapSerializationDetails.h:124
TArray< FNumberedPair > Pairs
Definition AssetDataTagMapSerializationDetails.h:120
TArray< FAssetRegistryExportPath > ExportPaths
Definition AssetDataTagMapSerializationDetails.h:130
TArray< WIDECHAR > WideStrings
Definition AssetDataTagMapSerializationDetails.h:126
TArray< uint32 > AnsiStringOffsets
Definition AssetDataTagMapSerializationDetails.h:123
Stores a fixed set of values and all the key-values maps used for lookup.
Definition AssetDataTagMapSerializationDetails.h:48
TArrayView< FName > Names
Definition AssetDataTagMapSerializationDetails.h:59
const WIDECHAR * GetWideString(uint32 Idx) const
Definition AssetDataTagMapSerializationDetails.h:83
TArrayView< uint32 > AnsiStringOffsets
Definition AssetDataTagMapSerializationDetails.h:54
TArrayView< FMarshalledText > Texts
Definition AssetDataTagMapSerializationDetails.h:62
TArrayView< FDisplayNameEntryId > NumberlessNames
Definition AssetDataTagMapSerializationDetails.h:58
TArrayView< FNumberedPair > Pairs
Definition AssetDataTagMapSerializationDetails.h:50
COREUOBJECT_API void Release() const
Definition AssetDataTagMap.cpp:980
const uint32 Index
Definition AssetDataTagMapSerializationDetails.h:64
void * Data
Definition AssetDataTagMapSerializationDetails.h:65
TArrayView< ANSICHAR > AnsiStrings
Definition AssetDataTagMapSerializationDetails.h:55
const ANSICHAR * GetAnsiString(uint32 Idx) const
Definition AssetDataTagMapSerializationDetails.h:82
TArrayView< FNumberlessPair > NumberlessPairs
Definition AssetDataTagMapSerializationDetails.h:51
TArrayView< uint32 > WideStringOffsets
Definition AssetDataTagMapSerializationDetails.h:56
TArrayView< WIDECHAR > WideStrings
Definition AssetDataTagMapSerializationDetails.h:57
TArrayView< FAssetRegistryExportPath > ExportPaths
Definition AssetDataTagMapSerializationDetails.h:61
TArrayView< FNumberlessExportPath > NumberlessExportPaths
Definition AssetDataTagMapSerializationDetails.h:60
void AddRef() const
Definition AssetDataTagMapSerializationDetails.h:67
Definition Optional.h:131