32#ifndef WITH_CASE_PRESERVING_NAME
33 #define WITH_CASE_PRESERVING_NAME WITH_EDITORONLY_DATA
38#ifndef UE_FNAME_OUTLINE_NUMBER
39 #define UE_FNAME_OUTLINE_NUMBER 0
46#ifndef UE_FNAME_ENTRY_ALIGNMENT
48 #define UE_FNAME_ENTRY_ALIGNMENT 8
50 #define UE_FNAME_ENTRY_ALIGNMENT 0
108 constexpr explicit operator bool()
const {
return Value != 0; }
152#define checkName checkSlow
157#define NAME_NO_NUMBER_INTERNAL 0
160#define NAME_INTERNAL_TO_EXTERNAL(x) (x - 1)
161#define NAME_EXTERNAL_TO_INTERNAL(x) (x + 1)
164#define NAME_NO_NUMBER NAME_INTERNAL_TO_EXTERNAL(NAME_NO_NUMBER_INTERNAL)
168#define SUBOBJECT_DELIMITER_ANSI ":"
169#define SUBOBJECT_DELIMITER TEXT(SUBOBJECT_DELIMITER_ANSI)
172#define SUBOBJECT_DELIMITER_CHAR_ANSI ':'
173#define SUBOBJECT_DELIMITER_CHAR TEXT(SUBOBJECT_DELIMITER_CHAR_ANSI)
176#define INVALID_NAME_CHARACTERS TEXT("\"' ,\n\r\t")
179#define INVALID_OBJECTNAME_CHARACTERS TEXT("\"' ,/.:|&!~\n\r\t@#(){}[]=;^%$`")
182#define INVALID_OBJECTPATH_CHARACTERS TEXT("\"' ,|&!~\n\r\t@#(){}[]=;^%$`")
185#define INVALID_LONGPACKAGE_CHARACTERS TEXT("\\:*?\"<>|' ,.&!~\n\r\t@#")
188#define VALID_SAVEDDIRSUFFIX_CHARACTERS TEXT("_0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz")
191#define NAMED_PAK_CHUNK_DELIMITER_CHAR TEXT('-')
228template <
typename CharType>
232 for (
const CharType* It =
Name +
InOutLen - 1; It >=
Name && *It >=
'0' && *It <=
'9'; --It)
266#if WITH_CASE_PRESERVING_NAME
281#if WITH_CASE_PRESERVING_NAME
289#if UE_FNAME_OUTLINE_NUMBER
290#if WITH_CASE_PRESERVING_NAME
318#if UE_FNAME_OUTLINE_NUMBER
337 CORE_API FString GetPlainNameString()
const;
354 CORE_API void AppendNameToPathString(FString& OutString)
const;
376#if UE_FNAME_OUTLINE_NUMBER
388 bool bIsWide =
false;
424 CORE_API FString GetPlainNameString()
const;
456#if !UE_FNAME_OUTLINE_NUMBER
462#if UE_FNAME_OUTLINE_NUMBER
465 return Index == Rhs.Index;
478 return GetTypeHash(
Name.Index) +
Name.Number;
498 , DisplayIndex(ComparisonIndex)
515#if UE_FNAME_OUTLINE_NUMBER
519 uint32 Number = NAME_NO_NUMBER_INTERNAL;
523#if UE_FNAME_OUTLINE_NUMBER
526 return ComparisonIndex == Rhs.ComparisonIndex;
530 return GetTypeHash(
Name.ComparisonIndex);
535 return ComparisonIndex == Rhs.ComparisonIndex &&
Number == Rhs.Number;
539 return GetTypeHash(
Name.ComparisonIndex) +
Name.Number;
578#if UE_FNAME_OUTLINE_NUMBER
582 uint32 Number = NAME_NO_NUMBER_INTERNAL;
584#if WITH_CASE_PRESERVING_NAME
590#if UE_FNAME_OUTLINE_NUMBER
593 return ComparisonIndex == Rhs.ComparisonIndex;
602 return ComparisonIndex == Rhs.ComparisonIndex &&
Number == Rhs.Number;
606 return GetTypeHash(
Name.ComparisonIndex) +
Name.Number;
619 constexpr static bool bHasIntrusiveUnsetOptionalState =
true;
622#if UE_FNAME_OUTLINE_NUMBER
628 checkName(IsWithinBounds(ComparisonIndex));
629 return ComparisonIndex;
640#if UE_FNAME_OUTLINE_NUMBER
727 "FName::ToString(TCHAR* Out, uint32 OutSize) is dangerous and can lead to buffer overflow if the provided "
728 "buffer is smaller than FName::StringBufferSize, even if the OutSize parameter indicates the buffer is "
729 "smaller than this value. Use the templated ToString() or ToStringTruncate() functions to format the name "
730 "string into a pre-allocated array, or use the allocating ToString() functions that return an FString.")
733 return ToStringInternal(Out, StringBufferSize);
747 "FName::ToString(TCHAR (&Out)[N]) requires a buffer of size of at least FName::StringBufferSize. "
748 "Use ToStringTruncate() if a smaller buffer is required and it is safe for the returned string to be truncated.");
750 return ToStringInternal(Out, N);
763 return ToStringInternal(Out,
OutSize);
769 static_assert(N > 0,
"Out buffer must have at least one element.");
770 return ToStringTruncate(Out, N);
805 return ToUnstableInt() ==
Other.ToUnstableInt();
811 return ComparisonIndex == I;
817 return CompareIndexes(
Other) < 0;
823 return Compare(
Other) < 0;
829#if PLATFORM_64BITS && !WITH_CASE_PRESERVING_NAME
830 return ToUnstableInt() == 0;
942#if UE_FNAME_OUTLINE_NUMBER
945 return GetNumber() -
Other.GetNumber();
988#if WITH_CASE_PRESERVING_NAME
999#if UE_FNAME_OUTLINE_NUMBER
1000 checkSlow(ResolveEntry(DisplayId)->IsNumbered() ==
false);
1002 return FName(GetComparisonIdFromDisplayId(DisplayId), DisplayId,
Number);
1005#if UE_FNAME_OUTLINE_NUMBER
1013#if !UE_FNAME_OUTLINE_NUMBER
1023 : ComparisonIndex(
NoInit)
1031 : ComparisonIndex(I)
1163#if UE_FNAME_OUTLINE_NUMBER
1215#if UE_FNAME_OUTLINE_NUMBER
1218 return ComparisonIndex.ToUnstableInt();
1236#if !UE_FNAME_OUTLINE_NUMBER
1240#if WITH_CASE_PRESERVING_NAME
1256 template <
typename StringBufferType>
1261#if WITH_CASE_PRESERVING_NAME
1262 return DisplayIndex;
1264 return ComparisonIndex;
1271 return ComparisonIndex;
1277#if WITH_CASE_PRESERVING_NAME
1278 return DisplayIndex;
1280 return ComparisonIndex;
1292#if UE_FNAME_OUTLINE_NUMBER
1298#if UE_FNAME_OUTLINE_NUMBER
1307 Out.ComparisonIndex = ComparisonId;
1308#if WITH_CASE_PRESERVING_NAME
1309 Out.DisplayIndex = DisplayId;
1311#if !UE_FNAME_OUTLINE_NUMBER
1319 return CreateNumberedNameIfNecessary(ComparisonId, ComparisonId,
Number);
1337#if UE_FNAME_OUTLINE_NUMBER
1340 return A.GetComparisonIndexInternal() ==
B.Index;
1344 return A.GetComparisonIndexInternal() ==
B.ComparisonIndex;
1348 return A.GetComparisonIndexInternal() ==
B.ComparisonIndex;
1357 return A.GetComparisonIndex() ==
B.Index &&
A.GetNumber() ==
B.Number;
1361 return A.GetComparisonIndex() ==
B.ComparisonIndex &&
A.GetNumber() ==
B.Number;
1365 return A.GetComparisonIndex() ==
B.ComparisonIndex &&
A.GetNumber() ==
B.Number;
1369 return GetTypeHash(
Name.GetComparisonIndex()) +
Name.GetNumber();
1374 template <
typename T>
1377 return FName::Equals(*
this, Rhs);
1388 template<
bool bCasePreserving>
1415 static_assert(
sizeof(
FMemoryImageName) ==
sizeof(Freeze::TMemoryImageNameLayout<WITH_CASE_PRESERVING_NAME>));
1417#if UE_FNAME_OUTLINE_NUMBER
1422#if WITH_CASE_PRESERVING_NAME
1436#if UE_FNAME_OUTLINE_NUMBER
1439 : ComparisonIndex(InName.
Index)
1441 , DisplayIndex(InName.
Index)
1447 : ComparisonIndex(InName.ComparisonIndex)
1449 , DisplayIndex(InName.DisplayIndex)
1456 : ComparisonIndex(InName.ComparisonIndex)
1458 , DisplayIndex(InName.DisplayIndex)
1464 :
Index(
Name.GetComparisonIndexInternal())
1469 : ComparisonIndex(
Name.GetComparisonIndexInternal())
1471 , DisplayIndex(
Name.GetDisplayIndexInternal())
1477 : ComparisonIndex(
Name.GetComparisonIndexInternal())
1479 , DisplayIndex(
Name.GetDisplayIndexInternal())
1496 return ComparisonIndex.
IsNone();
1501 return ComparisonIndex.
IsNone();
1514 : ComparisonIndex(InName.
Index)
1517 , DisplayIndex(InName.
Index)
1523 : ComparisonIndex(InName.ComparisonIndex)
1526 , DisplayIndex(InName.DisplayIndex)
1532 : ComparisonIndex(InName.ComparisonIndex)
1535 , DisplayIndex(InName.DisplayIndex)
1541 :
Index(
Name.GetComparisonIndexInternal())
1547 : ComparisonIndex(
Name.GetComparisonIndexInternal())
1549 , DisplayIndex(
Name.GetDisplayIndexInternal())
1556 : ComparisonIndex(
Name.GetComparisonIndex())
1559 , DisplayIndex(
Name.GetDisplayIndex())
1571 return Index == Rhs.Index ? Number < Rhs.Number :
Index < Rhs.Index;
1594 return FName(InName);
1599 return FName(InName);
1621 Name.AppendString(Builder);
1627 Name.AppendString(Builder);
1642 return A.CompareIndexes(
B) < 0;
1647 return A.FastLess(
B);
1656 return A.Compare(
B) < 0;
1661 return A.LexicalLess(
B);
1671 static constexpr uint32 OffsetBits = 16;
1672 static constexpr uint32 BlockBits = 13;
1673 static constexpr uint32 OffsetMask = (1 << OffsetBits) - 1;
1674 static constexpr uint32 UnusedMask =
UINT32_MAX << BlockBits << OffsetBits;
1682 enum class ELiteralType :
uint8
1696 : Either{.AnsiLiteral = Literal}
1697 , Number(ParseNumber(Literal, N - 1))
1698 , LiteralType(ELiteralType::AnsiLiteral)
1705 : Either{.Utf8Literal = Literal}
1706 , Number(ParseNumber(Literal, N - 1))
1707 , LiteralType(ELiteralType::Utf8Literal)
1714 : Either{.WideLiteral = Literal}
1715 , Number(ParseNumber(Literal, N - 1))
1716 , LiteralType(ELiteralType::WideLiteral)
1721 : Either{.PackedName = FLiteralOrName::PackName(
Name.GetComparisonIndex(),
Name.GetDisplayIndex())}
1722 , Number(
Name.GetNumber())
1723 , LiteralType(ELiteralType::None)
1738 union FLiteralOrName
1743 static constexpr uint32 DisplayIdShift = 32;
1748 mutable uint64 PackedName = 0;
1757 constexpr bool IsName()
const
1759 return !!(PackedName & IsNameFlag);
1769#if WITH_CASE_PRESERVING_NAME
1772 return GetComparisonId();
1777 FLiteralOrName Either;
1779 ELiteralType LiteralType = ELiteralType::None;
1785 template <
typename CharType>
1790 return UE::Core::Private::ParseNumberFromName(Literal, Len);
1794 return CallParseNumber(Literal, Len);
1798 template <
typename CharType>
1806 if (Either.IsName() || !Rhs.IsNone())
1810 else if (LiteralType == ELiteralType::AnsiLiteral)
1812 return Rhs == Either.AnsiLiteral;
1814 else if (LiteralType == ELiteralType::Utf8Literal)
1816 return Rhs == Either.Utf8Literal;
1820 return Rhs == Either.WideLiteral;
1862#if WITH_CASE_PRESERVING_NAME
1890#if WITH_CASE_PRESERVING_NAME
#define checkSlow(expr)
Definition AssertionMacros.h:332
#define check(expr)
Definition AssertionMacros.h:314
#define UE_STATIC_DEPRECATE(Version, bExpression, Message)
Definition CoreMiscDefines.h:420
ENoInit
Definition CoreMiscDefines.h:158
@ NoInit
Definition CoreMiscDefines.h:158
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
FArchive & operator<<(FArchive &Ar, FEnvQueryDebugProfileData::FStep &Data)
Definition EnvQueryTypes.cpp:489
return true
Definition ExternalRpcRegistry.cpp:601
#define DECLARE_INTRINSIC_TYPE_LAYOUT(T)
Definition MemoryLayout.h:760
CORE_API FString LexToString(const FName &Name)
Definition UnrealNames.cpp:3569
#define NAME_NO_NUMBER_INTERNAL
Definition NameTypes.h:157
CORE_API void AppendHash(FBlake3 &Builder, FName In)
Definition UnrealNames.cpp:3801
ENameCase
Definition NameTypes.h:194
FORCEINLINE FMinimalName NameToMinimalName(FName InName)
Definition NameTypes.h:1602
@ NAME_SIZE
Definition NameTypes.h:57
#define WITH_CASE_PRESERVING_NAME
Definition NameTypes.h:33
#define UE_FNAME_OUTLINE_NUMBER
Definition NameTypes.h:39
ELinkerNameTableConstructor
Definition NameTypes.h:199
@ ENAME_LinkerConstructor
Definition NameTypes.h:199
FORCEINLINE void LexFromString(FName &Name, const TCHAR *Str)
Definition NameTypes.h:1614
#define NAME_EXTERNAL_TO_INTERNAL(x)
Definition NameTypes.h:161
bool operator<(FName, FName)=delete
EFindName
Definition NameTypes.h:203
@ FNAME_Find
Definition NameTypes.h:209
@ FNAME_Add
Definition NameTypes.h:212
bool operator<=(FName, FName)=delete
FORCEINLINE FName MinimalNameToName(FMinimalName InName)
Definition NameTypes.h:1592
FORCEINLINE FScriptName NameToScriptName(FName InName)
Definition NameTypes.h:1607
bool operator>=(FName, FName)=delete
FNameEntryId NAME_INDEX
Definition NameTypes.h:150
#define checkName
Definition NameTypes.h:152
FORCEINLINE FName ScriptNameToName(FScriptName InName)
Definition NameTypes.h:1597
bool operator>(FName, FName)=delete
FWideStringBuilderBase & operator<<(FWideStringBuilderBase &Builder, const FName &Name)
Definition NameTypes.h:1619
const bool
Definition NetworkReplayStreaming.h:178
#define MAX_int32
Definition NumericLimits.h:25
const TCHAR * DebugFName(FNameEntryId Index)
Definition UnrealNames.cpp:2317
EName
Definition UnrealNames.h:16
#define STRUCT_OFFSET(struc, member)
Definition UnrealTemplate.h:218
#define Expose_TNameOf(type)
Definition UnrealTypeTraits.h:199
if(Failed) console_printf("Failed.\n")
Definition Archive.h:1208
Definition NameTypes.h:1855
FDisplayNameEntryId(FName Name)
Definition NameTypes.h:1858
bool UEOpEquals(FDisplayNameEntryId Rhs) const
Definition NameTypes.h:1881
FORCEINLINE FName ToName(uint32 Number) const
Definition NameTypes.h:1859
FDisplayNameEntryId()
Definition NameTypes.h:1857
static FDisplayNameEntryId FromComparisonId(FNameEntryId ComparisonId)
Definition UnrealNames.cpp:4618
FNameEntryId ToDisplayId() const
Definition UnrealNames.cpp:4613
bool UEOpEquals(FNameEntryId Rhs) const
Definition NameTypes.h:1883
friend uint32 GetTypeHash(FDisplayNameEntryId InId)
Definition NameTypes.h:1884
void SetLoadedComparisonId(FNameEntryId ComparisonId)
Definition UnrealNames.cpp:4646
Definition NameTypes.h:1680
friend FORCEINLINE uint32 GetTypeHash(FLazyName Name)
Definition NameTypes.h:1826
constexpr FLazyName(const ANSICHAR(&Literal)[N])
Definition NameTypes.h:1695
FLazyName(FName Name)
Definition NameTypes.h:1720
constexpr FLazyName(const WIDECHAR(&Literal)[N])
Definition NameTypes.h:1713
constexpr FLazyName(const UTF8CHAR(&Literal)[N])
Definition NameTypes.h:1704
bool UEOpEquals(FName Rhs) const
Definition NameTypes.h:1802
CORE_API FString ToString() const
Definition UnrealNames.cpp:4544
constexpr FLazyName()=default
CORE_API FName Resolve() const
Definition UnrealNames.cpp:4499
CORE_API FUtf8String ToUtf8String() const
Definition UnrealNames.cpp:4549
Definition MemoryImageWriter.h:14
Definition MemoryImageWriter.h:78
Definition NameTypes.h:1900
FNameBuilder(const FName InName)
Definition NameTypes.h:1904
Definition UnrealNames.cpp:521
Definition UnrealNames.cpp:1192
Definition UnrealNames.cpp:1722
Definition NameTypes.h:617
FORCEINLINE FName(FNameEntryId InComparisonIndex, FNameEntryId InDisplayIndex, int32 InNumber)
Definition NameTypes.h:983
FName(TStringView< UTF8CHAR > View, int32 InNumber)
Definition NameTypes.h:1109
FORCEINLINE FName(FName Other, int32 InNumber)
Definition NameTypes.h:974
FName(FIntrusiveUnsetOptionalState I)
Definition NameTypes.h:1030
FORCEINLINE int32 CompareIndexes(const FName &Other) const
Definition NameTypes.h:935
friend FORCEINLINE uint32 GetTypeHash(FName Name)
Definition NameTypes.h:1367
FORCEINLINE bool IsEqual(const FName &Other, const ENameCase CompareMethod=ENameCase::IgnoreCase, const bool bCompareNumber=true) const
Definition NameTypes.h:1585
uint32 ToStringTruncate(TCHAR *Out, uint32 OutSize) const
Definition NameTypes.h:761
bool IsValidXName(const FString &InInvalidChars, FText *OutReason=nullptr, const FText *InErrorCtx=nullptr) const
Definition NameTypes.h:872
uint32 ToString(TCHAR(&Out)[N]) const
Definition NameTypes.h:744
FORCEINLINE void SetNumber(const int32 NewNumber)
Definition NameTypes.h:649
bool IsValidXName(FText &OutReason, const FString &InInvalidChars) const
Definition NameTypes.h:886
static FName CreateFromDisplayId(FNameEntryId DisplayId, int32 Number)
Definition NameTypes.h:997
static FNameEntryId GetComparisonIdFromDisplayId(FNameEntryId DisplayId)
Definition NameTypes.h:991
FName(TStringView< ANSICHAR > View, EFindName FindType=FNAME_Add)
Definition NameTypes.h:1068
constexpr FName(ENoInit)
Definition NameTypes.h:1022
FORCEINLINE FNameEntryId GetDisplayIndex() const
Definition NameTypes.h:632
FName(TStringView< WIDECHAR > View, EFindName FindType=FNAME_Add)
Definition NameTypes.h:1073
bool IsValidIndexFast() const
Definition NameTypes.h:845
FORCEINLINE auto UEOpEquals(T Rhs) const -> decltype(FName::Equals(*this, Rhs))
Definition NameTypes.h:1375
FORCEINLINE FName(EName Ename, int32 InNumber)
Definition NameTypes.h:962
bool UEOpEquals(FIntrusiveUnsetOptionalState I) const
Definition NameTypes.h:809
uint32 ToStringTruncate(TCHAR(&Out)[N]) const
Definition NameTypes.h:767
FORCEINLINE FNameEntryId GetComparisonIndex() const
Definition NameTypes.h:626
friend const TCHAR * DebugFName(int32)
FORCEINLINE bool LexicalLess(const FName &Other) const
Definition NameTypes.h:821
FORCEINLINE bool IsNone() const
Definition NameTypes.h:827
FORCEINLINE uint64 ToUnstableInt() const
Definition NameTypes.h:1221
FORCEINLINE bool FastLess(const FName &Other) const
Definition NameTypes.h:815
FName(TStringView< UTF8CHAR > View, EFindName FindType=FNAME_Add)
Definition NameTypes.h:1078
bool IsValid() const
Definition NameTypes.h:842
FORCEINLINE constexpr FName()
Definition NameTypes.h:1012
FName(TStringView< WIDECHAR > View, int32 InNumber)
Definition NameTypes.h:1104
CORE_API void AppendString(FWideString &Out) const
Definition UnrealNames.cpp:3717
UE_DEPRECATED(5.6, "FName::ToString(TCHAR* Out, uint32 OutSize) is dangerous and can lead to buffer overflow if the provided " "buffer is smaller than FName::StringBufferSize, even if the OutSize parameter indicates the buffer is " "smaller than this value. Use the templated ToString() or ToStringTruncate() functions to format the name " "string into a pre-allocated array, or use the allocating ToString() functions that return an FString.") uint32 ToString(TCHAR *Out
FORCEINLINE int32 GetNumber() const
Definition NameTypes.h:644
FORCEINLINE bool UEOpEquals(FName Other) const
Definition NameTypes.h:803
FName(TStringView< ANSICHAR > View, int32 InNumber)
Definition NameTypes.h:1099
FORCEINLINE FName(EName Ename)
Definition NameTypes.h:954
Definition OutputDevice.h:133
Definition SecureHash.h:314
Definition StringBuilder.h:79
Definition StringBuilder.h:509
constexpr int32 Len() const
Definition StringView.h:174
constexpr const CharType * GetData() const
Definition StringView.h:160
@ Number
Definition SlateWrapperTypes.h:176
uint32 GetTypeHash(const FKey &Key)
Definition BlackboardKey.h:35
const TCHAR * Name
Definition OodleDataCompression.cpp:30
UE_NODEBUG void IntrinsicWriteMemoryImage(FMemoryImageWriter &Writer, const TArray< T, AllocatorType > &Object, const FTypeLayoutDesc &)
Definition Array.h:3957
CORE_API void ApplyMemoryImageNamePatch(void *NameDst, const FMemoryImageName &Name, const FPlatformTypeLayoutParameters &LayoutParams)
Definition UnrealNames.cpp:5771
UE_NODEBUG uint32 IntrinsicUnfrozenCopy(const FMemoryUnfreezeContent &Context, const TArray< T, AllocatorType > &Object, void *OutDst)
Definition Array.h:3963
implementation
Definition PlayInEditorLoadingScope.h:8
bool IsWithinBounds(FComponentBounds Lhs, FComponentBounds Rhs)
Definition ShaderTypes.h:53
FORCEINLINE UE_STRING_CLASS RhsType && Rhs
Definition String.cpp.inl:718
@ Id
Definition Protocol0.h:17
@ false
Definition radaudio_common.h:23
U16 Index
Definition radfft.cpp:71
Definition NameTypes.h:65
Definition IntrusiveUnsetOptionalState.h:71
Definition NameTypes.h:558
bool UEOpEquals(EName Name) const
Definition NameTypes.h:569
FORCEINLINE bool IsNone() const
Definition NameTypes.h:1579
FMemoryImageName()
Definition NameTypes.h:1412
FORCEINLINE bool UEOpEquals(FMemoryImageName Rhs) const
Definition NameTypes.h:600
friend FName
Definition NameTypes.h:559
friend FORCEINLINE uint32 GetTypeHash(FMemoryImageName Name)
Definition NameTypes.h:604
static UE_FORCEINLINE_HINT void * Memcpy(void *Dest, const void *Src, SIZE_T Count)
Definition UnrealMemory.h:160
Definition NameTypes.h:439
FMinimalName(EName N)
Definition NameTypes.h:444
friend FORCEINLINE uint32 GetTypeHash(FMinimalName Name)
Definition NameTypes.h:476
friend FName
Definition NameTypes.h:440
FORCEINLINE bool UEOpLessThan(FMinimalName Rhs) const
Definition NameTypes.h:1569
FORCEINLINE bool IsNone() const
Definition NameTypes.h:1564
FORCEINLINE bool UEOpEquals(FMinimalName Rhs) const
Definition NameTypes.h:472
FMinimalName()
Definition NameTypes.h:442
Definition NameTypes.h:1666
CORE_API uint8 ** GetBlocks()
Definition UnrealNames.cpp:5746
Definition NameTypes.h:69
bool LexicalLess(FNameEntryId Rhs) const
Definition NameTypes.h:85
bool FastLess(FNameEntryId Rhs) const
Definition NameTypes.h:93
constexpr FNameEntryId()
Definition NameTypes.h:74
bool UEOpEquals(EName Ename) const
Definition NameTypes.h:126
bool LexicalSensitiveLess(FNameEntryId Rhs) const
Definition NameTypes.h:89
constexpr FNameEntryId(FIntrusiveUnsetOptionalState)
Definition NameTypes.h:76
static FNameEntryId FromUnstableInt(uint32 UnstableInt)
Definition NameTypes.h:114
bool UEOpLessThan(FNameEntryId Rhs) const
Definition NameTypes.h:96
static FORCEINLINE FNameEntryId FromEName(EName Ename)
Definition NameTypes.h:121
bool UEOpEquals(FIntrusiveUnsetOptionalState) const
Definition NameTypes.h:102
bool UEOpEquals(FNameEntryId Rhs) const
Definition NameTypes.h:99
constexpr bool IsNone() const
Definition NameTypes.h:78
int32 CompareFast(FNameEntryId Rhs) const
Definition NameTypes.h:92
constexpr uint32 ToUnstableInt() const
Definition NameTypes.h:111
constexpr FNameEntryId(ENoInit)
Definition NameTypes.h:75
CORE_API int32 CompareLexical(FNameEntryId Rhs) const
Definition UnrealNames.cpp:2291
CORE_API int32 CompareLexicalSensitive(FNameEntryId Rhs) const
Definition UnrealNames.cpp:2296
static constexpr bool bHasIntrusiveUnsetOptionalState
Definition NameTypes.h:70
CORE_API friend FArchive & operator<<(FArchive &Ar, FNameEntryId &InId)
Definition UnrealNames.cpp:358
friend CORE_API uint32 GetTypeHash(FNameEntryId Id)
Definition UnrealNames.cpp:353
Definition NameTypes.h:387
WIDECHAR const * GetWideName() const
Definition NameTypes.h:415
FNameEntrySerialized(enum ELinkerNameTableConstructor)
Definition NameTypes.h:401
ANSICHAR const * GetAnsiName() const
Definition NameTypes.h:406
friend FArchive & operator<<(FArchive &Ar, FNameEntrySerialized *E)
Definition NameTypes.h:427
Definition NameTypes.h:279
FORCEINLINE int32 GetNameLength() const
Definition NameTypes.h:316
CORE_API void AppendNameToString(FWideString &OutString) const
FORCEINLINE bool IsNumbered() const
Definition NameTypes.h:321
FNumberedData NumberedName
Definition NameTypes.h:303
FORCEINLINE bool IsWide() const
Definition NameTypes.h:315
static constexpr int32 GetDataOffset()
Definition NameTypes.h:362
Definition NameTypes.h:1639
FORCEINLINE bool operator()(const FName &A, const FName &B) const
Definition NameTypes.h:1640
FORCEINLINE bool operator()(FNameEntryId A, FNameEntryId B) const
Definition NameTypes.h:1645
Definition UnrealNames.cpp:3002
Definition NameTypes.h:1653
FORCEINLINE bool operator()(const FName &A, const FName &B) const
Definition NameTypes.h:1654
FORCEINLINE bool operator()(FNameEntryId A, FNameEntryId B) const
Definition NameTypes.h:1659
Definition UnrealNames.cpp:183
Definition UnrealNames.cpp:508
Definition NameTypes.h:491
friend FORCEINLINE uint32 GetTypeHash(FScriptName Name)
Definition NameTypes.h:537
FScriptName(EName Ename)
Definition NameTypes.h:496
FORCEINLINE bool IsNone() const
Definition NameTypes.h:1574
FORCEINLINE bool UEOpEquals(FScriptName Rhs) const
Definition NameTypes.h:533
FScriptName()
Definition NameTypes.h:494
CORE_API FUtf8String ToUtf8String() const
friend FName
Definition NameTypes.h:492
bool UEOpEquals(EName Name) const
Definition NameTypes.h:504
Definition MemoryLayout.h:108
Definition IsContiguousContainer.h:16
static constexpr bool Value
Definition IsContiguousContainer.h:20
Definition IsPODType.h:12
@ Value
Definition IsPODType.h:13
Definition UnrealTypeTraits.h:172
Definition UnrealNames.cpp:177