Ark Server API (ASA) - Wiki
Loading...
Searching...
No Matches
FNameEntry Struct Reference

#include <NameTypes.h>

+ Collaboration diagram for FNameEntry:

Public Member Functions

FORCEINLINE bool IsWide () const
 
FORCEINLINE int32 GetNameLength () const
 
FORCEINLINE bool IsNumbered () const
 
void GetUnterminatedName (TCHAR *OutName, uint32 OutSize) const
 
void GetName (TCHAR(&OutName)[NAME_SIZE]) const
 
void GetAnsiName (ANSICHAR(&OutName)[NAME_SIZE]) const
 
void GetWideName (WIDECHAR(&OutName)[NAME_SIZE]) const
 
FString GetPlainNameString () const
 
void AppendNameToString (FString &OutString) const
 
void AppendNameToString (FWideStringBuilderBase &OutString) const
 
void AppendNameToString (FUtf8StringBuilderBase &OutString) const
 
void AppendAnsiNameToString (FAnsiStringBuilderBase &OutString) const
 
void AppendNameToPathString (FString &OutString) const
 
void DebugDump (FOutputDevice &Out) const
 
int32 GetSizeInBytes () const
 
void Write (FArchive &Ar) const
 
struct FNameStringView MakeView (union FNameBuffer &OptionalDecodeBuffer) const
 

Static Public Member Functions

static int32 GetSize (int32 Length, bool bIsPureAnsi)
 
static int32 GetSize (const TCHAR *Name)
 
static int32 GetDataOffset ()
 

Private Member Functions

 FNameEntry (struct FClangKeepDebugInfo)
 
 FNameEntry (const FNameEntry &)=delete
 
 FNameEntry (FNameEntry &&)=delete
 
FNameEntryoperator= (const FNameEntry &)=delete
 
FNameEntryoperator= (FNameEntry &&)=delete
 
void StoreName (const ANSICHAR *InName, uint32 Len)
 
void StoreName (const WIDECHAR *InName, uint32 Len)
 
void CopyUnterminatedName (ANSICHAR *OutName) const
 
void CopyUnterminatedName (WIDECHAR *OutName) const
 
void CopyAndConvertUnterminatedName (TCHAR *OutName) const
 
const ANSICHAR * GetUnterminatedName (ANSICHAR(&OptionalDecodeBuffer)[NAME_SIZE]) const
 
const WIDECHARGetUnterminatedName (WIDECHAR(&OptionalDecodeBuffer)[NAME_SIZE]) const
 

Static Private Member Functions

static void Encode (ANSICHAR *Name, uint32 Len)
 
static void Encode (WIDECHAR *Name, uint32 Len)
 
static void Decode (ANSICHAR *Name, uint32 Len)
 
static void Decode (WIDECHAR *Name, uint32 Len)
 

Private Attributes

FNameEntryHeader Header
 
union { 
 
   ANSICHAR   AnsiName [NAME_SIZE
 
   WIDECHAR   WideName [NAME_SIZE
 
};  
 

Friends

class FName
 
struct FNameHelper
 
class FNameEntryAllocator
 
class FNamePoolShardBase
 

Detailed Description

A global deduplicated name stored in the global name table.

Definition at line 220 of file NameTypes.h.

Constructor & Destructor Documentation

◆ FNameEntry() [1/3]

FNameEntry::FNameEntry ( struct FClangKeepDebugInfo )
private

◆ FNameEntry() [2/3]

FNameEntry::FNameEntry ( const FNameEntry & )
privatedelete

◆ FNameEntry() [3/3]

FNameEntry::FNameEntry ( FNameEntry && )
privatedelete

Member Function Documentation

◆ AppendAnsiNameToString()

void FNameEntry::AppendAnsiNameToString ( FAnsiStringBuilderBase & OutString) const

Appends name to string builder. Entry must not be wide.

◆ AppendNameToPathString()

void FNameEntry::AppendNameToPathString ( FString & OutString) const

Appends name to string with path separator using FString::PathAppend().

◆ AppendNameToString() [1/3]

void FNameEntry::AppendNameToString ( FString & OutString) const
inline

Appends name to string. May allocate.

Definition at line 290 of file NameTypes.h.

◆ AppendNameToString() [2/3]

void FNameEntry::AppendNameToString ( FUtf8StringBuilderBase & OutString) const
inline

Definition at line 301 of file NameTypes.h.

◆ AppendNameToString() [3/3]

void FNameEntry::AppendNameToString ( FWideStringBuilderBase & OutString) const
inline

Appends name to string builder.

Definition at line 296 of file NameTypes.h.

◆ CopyAndConvertUnterminatedName()

void FNameEntry::CopyAndConvertUnterminatedName ( TCHAR * OutName) const
private

◆ CopyUnterminatedName() [1/2]

void FNameEntry::CopyUnterminatedName ( ANSICHAR * OutName) const
private

◆ CopyUnterminatedName() [2/2]

void FNameEntry::CopyUnterminatedName ( WIDECHAR * OutName) const
private

◆ DebugDump()

void FNameEntry::DebugDump ( FOutputDevice & Out) const

◆ Decode() [1/2]

void FNameEntry::Decode ( ANSICHAR * Name,
uint32 Len )
inlinestaticprivate

Definition at line 1735 of file NameTypes.h.

◆ Decode() [2/2]

void FNameEntry::Decode ( WIDECHAR * Name,
uint32 Len )
inlinestaticprivate

Definition at line 1736 of file NameTypes.h.

◆ Encode() [1/2]

void FNameEntry::Encode ( ANSICHAR * Name,
uint32 Len )
inlinestaticprivate

Definition at line 1733 of file NameTypes.h.

◆ Encode() [2/2]

void FNameEntry::Encode ( WIDECHAR * Name,
uint32 Len )
inlinestaticprivate

Definition at line 1734 of file NameTypes.h.

◆ GetAnsiName()

void FNameEntry::GetAnsiName ( ANSICHAR(&) OutName[NAME_SIZE]) const

Copy null-terminated name to ANSICHAR buffer without allocating. Entry must not be wide.

+ Here is the caller graph for this function:

◆ GetDataOffset()

static int32 FNameEntry::GetDataOffset ( )
static

◆ GetName()

void FNameEntry::GetName ( TCHAR(&) OutName[NAME_SIZE]) const

Copy null-terminated name to TCHAR buffer without allocating.

◆ GetNameLength()

FORCEINLINE int32 FNameEntry::GetNameLength ( ) const
inline

Definition at line 256 of file NameTypes.h.

◆ GetPlainNameString()

FString FNameEntry::GetPlainNameString ( ) const

Copy name to a dynamically allocated FString.

◆ GetSize() [1/2]

static int32 FNameEntry::GetSize ( const TCHAR * Name)
static

◆ GetSize() [2/2]

static int32 FNameEntry::GetSize ( int32 Length,
bool bIsPureAnsi )
static

Returns the size in bytes for FNameEntry structure. This is != sizeof(FNameEntry) as we only allocated as needed.

Parameters
LengthLength of name
bIsPureAnsiWhether name is pure ANSI or not
Returns
required size of FNameEntry structure to hold this string (might be wide or ansi)

◆ GetSizeInBytes()

int32 FNameEntry::GetSizeInBytes ( ) const

◆ GetUnterminatedName() [1/3]

const ANSICHAR * FNameEntry::GetUnterminatedName ( ANSICHAR(&) OptionalDecodeBuffer[NAME_SIZE]) const
private

◆ GetUnterminatedName() [2/3]

void FNameEntry::GetUnterminatedName ( TCHAR * OutName,
uint32 OutSize ) const

Copy unterminated name to TCHAR buffer without allocating.

Parameters
OutSizemust be at least GetNameLength()

◆ GetUnterminatedName() [3/3]

const WIDECHAR * FNameEntry::GetUnterminatedName ( WIDECHAR(&) OptionalDecodeBuffer[NAME_SIZE]) const
private

◆ GetWideName()

void FNameEntry::GetWideName ( WIDECHAR(&) OutName[NAME_SIZE]) const

Copy null-terminated name to WIDECHAR buffer without allocating. Entry must be wide.

+ Here is the caller graph for this function:

◆ IsNumbered()

FORCEINLINE bool FNameEntry::IsNumbered ( ) const
inline

Definition at line 261 of file NameTypes.h.

◆ IsWide()

FORCEINLINE bool FNameEntry::IsWide ( ) const
inline

Returns whether this name entry is represented via WIDECHAR or ANSICHAR.

Definition at line 251 of file NameTypes.h.

+ Here is the caller graph for this function:

◆ MakeView()

struct FNameStringView FNameEntry::MakeView ( union FNameBuffer & OptionalDecodeBuffer) const

◆ operator=() [1/2]

FNameEntry & FNameEntry::operator= ( const FNameEntry & )
privatedelete

◆ operator=() [2/2]

FNameEntry & FNameEntry::operator= ( FNameEntry && )
privatedelete

◆ StoreName() [1/2]

void FNameEntry::StoreName ( const ANSICHAR * InName,
uint32 Len )
private

◆ StoreName() [2/2]

void FNameEntry::StoreName ( const WIDECHAR * InName,
uint32 Len )
private

◆ Write()

void FNameEntry::Write ( FArchive & Ar) const

Friends And Related Symbol Documentation

◆ FName

friend class FName
friend

Definition at line 331 of file NameTypes.h.

◆ FNameEntryAllocator

friend class FNameEntryAllocator
friend

Definition at line 333 of file NameTypes.h.

◆ FNameHelper

friend struct FNameHelper
friend

Definition at line 332 of file NameTypes.h.

◆ FNamePoolShardBase

friend class FNamePoolShardBase
friend

Definition at line 334 of file NameTypes.h.

Member Data Documentation

◆ [union]

union { ... } FNameEntry

◆ AnsiName

ANSICHAR FNameEntry::AnsiName[NAME_SIZE]

Definition at line 229 of file NameTypes.h.

◆ Header

FNameEntryHeader FNameEntry::Header
private

Definition at line 226 of file NameTypes.h.

◆ WideName

WIDECHAR FNameEntry::WideName[NAME_SIZE]

Definition at line 230 of file NameTypes.h.


The documentation for this struct was generated from the following file: