Ark Server API (ASA) - Wiki
Loading...
Searching...
No Matches
NameTypes.h File Reference
+ Include dependency graph for NameTypes.h:

Go to the source code of this file.

Classes

struct  FNameEntryId
 
struct  FNameEntryHeader
 
struct  FNameEntry
 
struct  FNameEntrySerialized
 
struct  FMinimalName
 
struct  FScriptName
 
struct  FMemoryImageName
 
class  FName
 
struct  TIsZeroConstructType< class FName >
 
struct  TIsPODType< FName >
 
struct  FNameFastLess
 
struct  FNameLexicalLess
 
struct  FNameDebugVisualizer
 
class  FLazyName
 
struct  FLazyName::FLiteralOrName
 
class  FDisplayNameEntryId
 
class  FNameBuilder
 
struct  TIsContiguousContainer< FNameBuilder >
 

Namespaces

namespace  Freeze
 

Macros

#define WITH_CASE_PRESERVING_NAME   0
 
#define UE_FNAME_OUTLINE_NUMBER   0
 
#define checkName   checkSlow
 
#define NAME_NO_NUMBER_INTERNAL   0
 
#define NAME_INTERNAL_TO_EXTERNAL(x)   (x - 1)
 
#define NAME_EXTERNAL_TO_INTERNAL(x)   (x + 1)
 
#define NAME_NO_NUMBER   NAME_INTERNAL_TO_EXTERNAL(NAME_NO_NUMBER_INTERNAL)
 
#define SUBOBJECT_DELIMITER_ANSI   ":"
 
#define SUBOBJECT_DELIMITER   TEXT(SUBOBJECT_DELIMITER_ANSI)
 
#define SUBOBJECT_DELIMITER_CHAR   TEXT(':')
 
#define INVALID_NAME_CHARACTERS   TEXT("\"' ,\n\r\t")
 
#define INVALID_OBJECTNAME_CHARACTERS   TEXT("\"' ,/.:|&!~\n\r\t@#(){}[]=;^%$`")
 
#define INVALID_OBJECTPATH_CHARACTERS   TEXT("\"' ,|&!~\n\r\t@#(){}[]=;^%$`")
 
#define INVALID_LONGPACKAGE_CHARACTERS   TEXT("\\:*?\"<>|' ,.&!~\n\r\t@#")
 
#define VALID_SAVEDDIRSUFFIX_CHARACTERS   TEXT("_0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz")
 

Typedefs

typedef FNameEntryId NAME_INDEX
 
typedef FNameFastLess FNameSortIndexes
 

Enumerations

enum  { NAME_SIZE = 1024 }
 
enum class  ENameCase : uint8 { CaseSensitive , IgnoreCase }
 
enum  ELinkerNameTableConstructor { ENAME_LinkerConstructor }
 
enum  EFindName { FNAME_Find , FNAME_Add , FNAME_Replace_Not_Safe_For_Threading }
 

Functions

void Freeze::ApplyMemoryImageNamePatch (void *NameDst, const FMemoryImageName &Name, const FPlatformTypeLayoutParameters &LayoutParams)
 
void Freeze::IntrinsicWriteMemoryImage (FMemoryImageWriter &Writer, const FMemoryImageName &Object, const FTypeLayoutDesc &)
 
uint32 Freeze::IntrinsicUnfrozenCopy (const FMemoryUnfreezeContent &Context, const FMemoryImageName &Object, void *OutDst)
 
 Expose_TNameOf (FName) namespace Freeze
 
 DECLARE_INTRINSIC_TYPE_LAYOUT (FMemoryImageName)
 
 DECLARE_INTRINSIC_TYPE_LAYOUT (FScriptName)
 
FORCEINLINE FName MinimalNameToName (FMinimalName InName)
 
FORCEINLINE FName ScriptNameToName (FScriptName InName)
 
FORCEINLINE FMinimalName NameToMinimalName (FName InName)
 
FORCEINLINE FScriptName NameToScriptName (FName InName)
 
FORCEINLINE FString LexToString (const FName &Name)
 
FORCEINLINE void LexFromString (FName &Name, const TCHAR *Str)
 
FWideStringBuilderBaseoperator<< (FWideStringBuilderBase &Builder, const FName &Name)
 
FUtf8StringBuilderBaseoperator<< (FUtf8StringBuilderBase &Builder, const FName &Name)
 
FWideStringBuilderBaseoperator<< (FWideStringBuilderBase &Builder, FNameEntryId Id)
 
FUtf8StringBuilderBaseoperator<< (FUtf8StringBuilderBase &Builder, FNameEntryId Id)
 
void AppendHash (FBlake3 &Builder, FName In)
 

Macro Definition Documentation

◆ checkName

#define checkName   checkSlow

Definition at line 136 of file NameTypes.h.

◆ INVALID_LONGPACKAGE_CHARACTERS

#define INVALID_LONGPACKAGE_CHARACTERS   TEXT("\\:*?\"<>|' ,.&!~\n\r\t@#")

These characters cannot be used in long package names

Definition at line 168 of file NameTypes.h.

◆ INVALID_NAME_CHARACTERS

#define INVALID_NAME_CHARACTERS   TEXT("\"' ,\n\r\t")

These are the characters that cannot be used in general FNames

Definition at line 159 of file NameTypes.h.

◆ INVALID_OBJECTNAME_CHARACTERS

#define INVALID_OBJECTNAME_CHARACTERS   TEXT("\"' ,/.:|&!~\n\r\t@#(){}[]=;^%$`")

These characters cannot be used in object names

Definition at line 162 of file NameTypes.h.

◆ INVALID_OBJECTPATH_CHARACTERS

#define INVALID_OBJECTPATH_CHARACTERS   TEXT("\"' ,|&!~\n\r\t@#(){}[]=;^%$`")

These characters cannot be used in ObjectPaths, which includes both the package path and part after the first .

Definition at line 165 of file NameTypes.h.

◆ NAME_EXTERNAL_TO_INTERNAL

#define NAME_EXTERNAL_TO_INTERNAL ( x)    (x + 1)

Definition at line 145 of file NameTypes.h.

◆ NAME_INTERNAL_TO_EXTERNAL

#define NAME_INTERNAL_TO_EXTERNAL ( x)    (x - 1)

Conversion routines between external representations and internal

Definition at line 144 of file NameTypes.h.

◆ NAME_NO_NUMBER

Special value for an FName with no number

Definition at line 148 of file NameTypes.h.

◆ NAME_NO_NUMBER_INTERNAL

#define NAME_NO_NUMBER_INTERNAL   0

Externally, the instance number to represent no instance number is NAME_NO_NUMBER, but internally, we add 1 to indices, so we use this #define internally for zero'd memory initialization will still make NAME_None as expected

Definition at line 141 of file NameTypes.h.

◆ SUBOBJECT_DELIMITER

#define SUBOBJECT_DELIMITER   TEXT(SUBOBJECT_DELIMITER_ANSI)

Definition at line 153 of file NameTypes.h.

◆ SUBOBJECT_DELIMITER_ANSI

#define SUBOBJECT_DELIMITER_ANSI   ":"

this is the character used to separate a subobject root from its subobjects in a path name.

Definition at line 152 of file NameTypes.h.

◆ SUBOBJECT_DELIMITER_CHAR

#define SUBOBJECT_DELIMITER_CHAR   TEXT(':')

this is the character used to separate a subobject root from its subobjects in a path name, as a char

Definition at line 156 of file NameTypes.h.

◆ UE_FNAME_OUTLINE_NUMBER

#define UE_FNAME_OUTLINE_NUMBER   0

Definition at line 37 of file NameTypes.h.

◆ VALID_SAVEDDIRSUFFIX_CHARACTERS

#define VALID_SAVEDDIRSUFFIX_CHARACTERS   TEXT("_0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz")

These characters can be used in relative directory names (lowercase versions as well)

Definition at line 171 of file NameTypes.h.

◆ WITH_CASE_PRESERVING_NAME

#define WITH_CASE_PRESERVING_NAME   0

Do we want to support case-variants for FName? This will add an extra NAME_INDEX variable to FName, but means that ToString() will return you the exact same string that FName::Init was called with (which is useful if your FNames are shown to the end user) Currently this is enabled for the Editor and any Programs (such as UHT), but not the Runtime

Definition at line 31 of file NameTypes.h.

Typedef Documentation

◆ FNameSortIndexes

Definition at line 1716 of file NameTypes.h.

◆ NAME_INDEX

Legacy typedef - this is no longer an index

Use GetTypeHash(FName) or GetTypeHash(FNameEntryId) for hashing To compare with ENames use FName(EName) or FName::ToEName() instead

Definition at line 134 of file NameTypes.h.

Enumeration Type Documentation

◆ anonymous enum

Maximum size of name, including the null terminator.

Enumerator
NAME_SIZE 

Definition at line 43 of file NameTypes.h.

◆ EFindName

Enumeration for finding name.

Enumerator
FNAME_Find 

Find a name; return 0/NAME_None/FName() if it doesn't exist. When UE_FNAME_OUTLINE_NUMBER is set, we search for the exact name including the number suffix. Otherwise we search only for the string part.

FNAME_Add 

Find a name or add it if it doesn't exist.

FNAME_Replace_Not_Safe_For_Threading 

Finds a name and replaces it. Adds it if missing. This is only used by UHT and is generally not safe for threading. All this really is used for is correcting the case of names. In MT conditions you might get a half-changed name.

Definition at line 182 of file NameTypes.h.

◆ ELinkerNameTableConstructor

Enumerator
ENAME_LinkerConstructor 

Definition at line 179 of file NameTypes.h.

◆ ENameCase

Enumerator
CaseSensitive 
IgnoreCase 

Definition at line 173 of file NameTypes.h.

Function Documentation

◆ AppendHash()

void AppendHash ( FBlake3 & Builder,
FName In )

◆ DECLARE_INTRINSIC_TYPE_LAYOUT() [1/2]

DECLARE_INTRINSIC_TYPE_LAYOUT ( FMemoryImageName )

◆ DECLARE_INTRINSIC_TYPE_LAYOUT() [2/2]

DECLARE_INTRINSIC_TYPE_LAYOUT ( FScriptName )

◆ Expose_TNameOf()

Expose_TNameOf ( FName )

Definition at line 1429 of file NameTypes.h.

+ Here is the call graph for this function:

◆ LexFromString()

FORCEINLINE void LexFromString ( FName & Name,
const TCHAR * Str )

Definition at line 1678 of file NameTypes.h.

+ Here is the call graph for this function:

◆ LexToString()

FORCEINLINE FString LexToString ( const FName & Name)

Definition at line 1673 of file NameTypes.h.

+ Here is the call graph for this function:

◆ MinimalNameToName()

FORCEINLINE FName MinimalNameToName ( FMinimalName InName)

Definition at line 1648 of file NameTypes.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ NameToMinimalName()

FORCEINLINE FMinimalName NameToMinimalName ( FName InName)

Definition at line 1658 of file NameTypes.h.

◆ NameToScriptName()

FORCEINLINE FScriptName NameToScriptName ( FName InName)

Definition at line 1663 of file NameTypes.h.

◆ operator<<() [1/4]

Definition at line 1689 of file NameTypes.h.

+ Here is the call graph for this function:

◆ operator<<() [2/4]

◆ operator<<() [3/4]

Definition at line 1683 of file NameTypes.h.

+ Here is the call graph for this function:

◆ operator<<() [4/4]

◆ ScriptNameToName()

FORCEINLINE FName ScriptNameToName ( FScriptName InName)

Definition at line 1653 of file NameTypes.h.

+ Here is the call graph for this function: