Ark Server API 3.54
Serverside plugin support for Ark Survival Evolved.
Loading...
Searching...
No Matches
FString Class Reference

#include <FString.h>

Public Types

using ElementType = TCHAR
 
typedef TArray< TCHAR >::TIterator TIterator
 
typedef TArray< TCHAR >::TConstIterator TConstIterator
 

Public Member Functions

 FString ()=default
 
 FString (FString &&)=default
 
 FString (const FString &)=default
 
FStringoperator= (FString &&)=default
 
FStringoperator= (const FString &)=default
 
FORCEINLINE FString (const FString &Other, int32 ExtraSlack)
 
FORCEINLINE FString (FString &&Other, int32 ExtraSlack)
 
template<typename CharType >
FORCEINLINE FString (const CharType *Src, typename TEnableIf< TIsCharType< CharType >::Value >::Type *Dummy=nullptr)
 
FORCEINLINE FString (int32 InCount, const TCHAR *InSrc)
 
FORCEINLINE FString (const std::string &str)
 
FORCEINLINE FString (const std::wstring &str)
 
FORCEINLINE FStringoperator= (const TCHAR *Other)
 
FORCEINLINE TCHARoperator[] (int32 Index)
 
FORCEINLINE const TCHARoperator[] (int32 Index) const
 
FORCEINLINE TIterator CreateIterator ()
 
FORCEINLINE TConstIterator CreateConstIterator () const
 
FORCEINLINE uint32 GetAllocatedSize () const
 
FORCEINLINE void CheckInvariants () const
 
FORCEINLINE void Empty (int32 Slack=0)
 
FORCEINLINE bool IsEmpty () const
 
FORCEINLINE void Reset (int32 NewReservedSize=0)
 
FORCEINLINE void Shrink ()
 
FORCEINLINE bool IsValidIndex (int32 Index) const
 
FORCEINLINE const TCHARoperator* () const
 
FORCEINLINE DataTypeGetCharArray ()
 
FORCEINLINE const DataTypeGetCharArray () const
 
FORCEINLINE void AppendChars (const TCHAR *Array, int32 Count)
 
FORCEINLINE FStringoperator+= (const TCHAR *Str)
 
template<typename CharType >
FORCEINLINE TEnableIf< TIsCharType< CharType >::Value, FString & >::Type operator+= (CharType InChar)
 
FORCEINLINE FStringAppendChar (const TCHAR InChar)
 
FORCEINLINE FStringAppend (const FString &Text)
 
FStringAppend (const TCHAR *Text, int32 Count)
 
FORCEINLINE void RemoveAt (int32 Index, int32 Count=1, bool bAllowShrinking=true)
 
FORCEINLINE void InsertAt (int32 Index, TCHAR Character)
 
FORCEINLINE void InsertAt (int32 Index, const FString &Characters)
 
bool RemoveFromStart (const FString &InPrefix, ESearchCase::Type SearchCase=ESearchCase::IgnoreCase)
 
bool RemoveFromEnd (const FString &InSuffix, ESearchCase::Type SearchCase=ESearchCase::IgnoreCase)
 
void PathAppend (const TCHAR *Str, int32 StrLength)
 
FORCEINLINE FStringoperator+= (const FString &Str)
 
FORCEINLINE FStringoperator/= (const TCHAR *Str)
 
FORCEINLINE FStringoperator/= (const FString &Str)
 
FORCEINLINE int32 Len () const
 
FORCEINLINE FString Left (int32 Count) const
 
FORCEINLINE FString LeftChop (int32 Count) const
 
FORCEINLINE FString Right (int32 Count) const
 
FORCEINLINE FString RightChop (int32 Count) const
 
FORCEINLINE FString Mid (int32 Start, int32 Count=INT_MAX) const
 
int32 Find (const TCHAR *SubStr, ESearchCase::Type SearchCase=ESearchCase::IgnoreCase, ESearchDir::Type SearchDir=ESearchDir::FromStart, int32 StartPosition=INDEX_NONE) const
 
FORCEINLINE int32 Find (const FString &SubStr, ESearchCase::Type SearchCase=ESearchCase::IgnoreCase, ESearchDir::Type SearchDir=ESearchDir::FromStart, int32 StartPosition=INDEX_NONE) const
 
FORCEINLINE bool Contains (const TCHAR *SubStr, ESearchCase::Type SearchCase=ESearchCase::IgnoreCase, ESearchDir::Type SearchDir=ESearchDir::FromStart) const
 
FORCEINLINE bool Contains (const FString &SubStr, ESearchCase::Type SearchCase=ESearchCase::IgnoreCase, ESearchDir::Type SearchDir=ESearchDir::FromStart) const
 
FORCEINLINE bool FindChar (TCHAR InChar, int32 &Index) const
 
FORCEINLINE bool FindLastChar (TCHAR InChar, int32 &Index) const
 
template<typename Predicate >
FORCEINLINE int32 FindLastCharByPredicate (Predicate Pred, int32 Count) const
 
template<typename Predicate >
FORCEINLINE int32 FindLastCharByPredicate (Predicate Pred) const
 
FORCEINLINE bool Equals (const FString &Other, ESearchCase::Type SearchCase=ESearchCase::CaseSensitive) const
 
FORCEINLINE int32 Compare (const FString &Other, ESearchCase::Type SearchCase=ESearchCase::CaseSensitive) const
 
bool Split (const FString &InS, FString *LeftS, FString *RightS, ESearchCase::Type SearchCase=ESearchCase::IgnoreCase, ESearchDir::Type SearchDir=ESearchDir::FromStart) const
 
FString ToUpper () const &
 
FString ToUpper () &&
 
void ToUpperInline ()
 
FString ToLower () const &
 
FString ToLower () &&
 
void ToLowerInline ()
 
FString LeftPad (int32 ChCount) const
 
FString RightPad (int32 ChCount) const
 
bool IsNumeric () const
 
bool StartsWith (const TCHAR *InSuffix, ESearchCase::Type SearchCase=ESearchCase::IgnoreCase) const
 
bool StartsWith (const FString &InPrefix, ESearchCase::Type SearchCase=ESearchCase::IgnoreCase) const
 
bool EndsWith (const TCHAR *InSuffix, ESearchCase::Type SearchCase=ESearchCase::IgnoreCase) const
 
bool EndsWith (const FString &InSuffix, ESearchCase::Type SearchCase=ESearchCase::IgnoreCase) const
 
bool MatchesWildcard (const FString &Wildcard, ESearchCase::Type SearchCase=ESearchCase::IgnoreCase) const
 
void TrimStartAndEndInline ()
 
FString TrimStartAndEnd () const &
 
FString TrimStartAndEnd () &&
 
void TrimStartInline ()
 
FString TrimStart () const &
 
FString TrimStart () &&
 
void TrimEndInline ()
 
FString TrimEnd () const &
 
FString TrimEnd () &&
 
void TrimToNullTerminator ()
 
FString TrimQuotes (bool *bQuotesRemoved=nullptr) const
 
int32 ParseIntoArray (TArray< FString > &OutArray, const TCHAR *pchDelim, bool InCullEmpty=true) const
 
int32 ParseIntoArrayWS (TArray< FString > &OutArray, const TCHAR *pchExtraDelim=nullptr, bool InCullEmpty=true) const
 
int32 ParseIntoArrayLines (TArray< FString > &OutArray, bool InCullEmpty=true) const
 
int32 ParseIntoArray (TArray< FString > &OutArray, const TCHAR **DelimArray, int32 NumDelims, bool InCullEmpty=true) const
 
FString Reverse () const
 
void ReverseString ()
 
FString Replace (const TCHAR *From, const TCHAR *To, ESearchCase::Type SearchCase=ESearchCase::IgnoreCase) const
 
int32 ReplaceInline (const TCHAR *SearchText, const TCHAR *ReplacementText, ESearchCase::Type SearchCase=ESearchCase::IgnoreCase)
 
FString ReplaceQuotesWithEscapedQuotes () const
 
FString ReplaceCharWithEscapedChar (const TArray< TCHAR > *Chars=nullptr) const
 
FString ReplaceEscapedCharWithChar (const TArray< TCHAR > *Chars=nullptr) const
 
FString ConvertTabsToSpaces (const int32 InSpacesPerTab)
 
FORCEINLINE void Reserve (const uint32 CharacterCount)
 
void AppendInt (int32 InNum)
 
std::string ToString () const
 Convert FString to std::string.
 

Static Public Member Functions

static FString Chr (TCHAR Ch)
 
static FString ChrN (int32 NumCharacters, TCHAR Char)
 
static int32 CullArray (TArray< FString > *InArray)
 
static FString FormatAsNumber (int32 InNumber)
 
static FORCEINLINE FString FromInt (int32 Num)
 
static bool ToBlob (const FString &Source, uint8 *DestBuffer, const uint32 DestSize)
 
static bool ToHexBlob (const FString &Source, uint8 *DestBuffer, const uint32 DestSize)
 
template<typename T , typename Allocator >
static FString Join (const TArray< T, Allocator > &Array, const TCHAR *Separator)
 
template<typename T , typename... Args>
static FString Format (const T *format, Args &&... args)
 Formats text using fmt::format.
 

Private Types

typedef TArray< TCHARDataType
 

Static Private Member Functions

template<typename LhsType , typename RhsType >
static FORCEINLINE FString ConcatFStrings (typename TIdentity< LhsType >::Type Lhs, typename TIdentity< RhsType >::Type Rhs)
 
template<typename RhsType >
static FORCEINLINE FString ConcatTCHARsToFString (const TCHAR *Lhs, typename TIdentity< RhsType >::Type Rhs)
 
template<typename LhsType >
static FORCEINLINE FString ConcatFStringToTCHARs (typename TIdentity< LhsType >::Type Lhs, const TCHAR *Rhs)
 

Private Attributes

DataType Data
 

Friends

struct TContainerTraits< FString >
 
FORCEINLINE friend DataType::RangedForIteratorType begin (FString &Str)
 
FORCEINLINE friend DataType::RangedForConstIteratorType begin (const FString &Str)
 
FORCEINLINE friend DataType::RangedForIteratorType end (FString &Str)
 
FORCEINLINE friend DataType::RangedForConstIteratorType end (const FString &Str)
 
template<typename CharType >
FORCEINLINE friend TEnableIf< TIsCharType< CharType >::Value, FString >::Type operator+ (const FString &Lhs, CharType Rhs)
 
template<typename CharType >
FORCEINLINE friend TEnableIf< TIsCharType< CharType >::Value, FString >::Type operator+ (FString &&Lhs, CharType Rhs)
 
FORCEINLINE friend FString operator+ (const FString &Lhs, const FString &Rhs)
 
FORCEINLINE friend FString operator+ (FString &&Lhs, const FString &Rhs)
 
FORCEINLINE friend FString operator+ (const FString &Lhs, FString &&Rhs)
 
FORCEINLINE friend FString operator+ (FString &&Lhs, FString &&Rhs)
 
FORCEINLINE friend FString operator+ (const TCHAR *Lhs, const FString &Rhs)
 
FORCEINLINE friend FString operator+ (const TCHAR *Lhs, FString &&Rhs)
 
FORCEINLINE friend FString operator+ (const FString &Lhs, const TCHAR *Rhs)
 
FORCEINLINE friend FString operator+ (FString &&Lhs, const TCHAR *Rhs)
 
FORCEINLINE friend FString operator/ (const FString &Lhs, const TCHAR *Rhs)
 
FORCEINLINE friend FString operator/ (FString &&Lhs, const TCHAR *Rhs)
 
FORCEINLINE friend FString operator/ (const FString &Lhs, const FString &Rhs)
 
FORCEINLINE friend FString operator/ (FString &&Lhs, const FString &Rhs)
 
FORCEINLINE friend FString operator/ (const TCHAR *Lhs, const FString &Rhs)
 
FORCEINLINE friend bool operator<= (const FString &Lhs, const FString &Rhs)
 
template<typename CharType >
FORCEINLINE friend bool operator<= (const FString &Lhs, const CharType *Rhs)
 
template<typename CharType >
FORCEINLINE friend bool operator<= (const CharType *Lhs, const FString &Rhs)
 
FORCEINLINE friend bool operator< (const FString &Lhs, const FString &Rhs)
 
template<typename CharType >
FORCEINLINE friend bool operator< (const FString &Lhs, const CharType *Rhs)
 
template<typename CharType >
FORCEINLINE friend bool operator< (const CharType *Lhs, const FString &Rhs)
 
FORCEINLINE friend bool operator>= (const FString &Lhs, const FString &Rhs)
 
template<typename CharType >
FORCEINLINE friend bool operator>= (const FString &Lhs, const CharType *Rhs)
 
template<typename CharType >
FORCEINLINE friend bool operator>= (const CharType *Lhs, const FString &Rhs)
 
FORCEINLINE friend bool operator> (const FString &Lhs, const FString &Rhs)
 
template<typename CharType >
FORCEINLINE friend bool operator> (const FString &Lhs, const CharType *Rhs)
 
template<typename CharType >
FORCEINLINE friend bool operator> (const CharType *Lhs, const FString &Rhs)
 
FORCEINLINE friend bool operator== (const FString &Lhs, const FString &Rhs)
 
template<typename CharType >
FORCEINLINE friend bool operator== (const FString &Lhs, const CharType *Rhs)
 
template<typename CharType >
FORCEINLINE friend bool operator== (const CharType *Lhs, const FString &Rhs)
 
FORCEINLINE friend bool operator!= (const FString &Lhs, const FString &Rhs)
 
template<typename CharType >
FORCEINLINE friend bool operator!= (const FString &Lhs, const CharType *Rhs)
 
template<typename CharType >
FORCEINLINE friend bool operator!= (const CharType *Lhs, const FString &Rhs)
 

Detailed Description

Member Typedef Documentation

◆ DataType

typedef TArray<TCHAR> FString::DataType
private

Array holding the character data

Definition at line 58 of file FString.h.

◆ ElementType

Definition at line 62 of file FString.h.

◆ TConstIterator

typedef TArray<TCHAR>::TConstIterator FString::TConstIterator

Definition at line 189 of file FString.h.

◆ TIterator

typedef TArray<TCHAR>::TIterator FString::TIterator

Iterator typedefs

Definition at line 188 of file FString.h.

Constructor & Destructor Documentation

◆ FString() [1/9]

FString::FString ( )
default

◆ FString() [2/9]

FString::FString ( FString &&  )
default

◆ FString() [3/9]

FString::FString ( const FString )
default

◆ FString() [4/9]

FORCEINLINE FString::FString ( const FString Other,
int32  ExtraSlack 
)
inline

Create a copy of the Other string with extra space for characters at the end of the string

Parameters
Otherthe other string to create a new copy from
ExtraSlacknumber of extra characters to add to the end of the other string in this string

Definition at line 76 of file FString.h.

◆ FString() [5/9]

FORCEINLINE FString::FString ( FString &&  Other,
int32  ExtraSlack 
)
inline

Create a copy of the Other string with extra space for characters at the end of the string

Parameters
Otherthe other string to create a new copy from
ExtraSlacknumber of extra characters to add to the end of the other string in this string

Definition at line 87 of file FString.h.

◆ FString() [6/9]

template<typename CharType >
FORCEINLINE FString::FString ( const CharType *  Src,
typename TEnableIf< TIsCharType< CharType >::Value >::Type *  Dummy = nullptr 
)
inline

Constructor using an array of TCHAR

Parameters
Inarray of TCHAR

Definition at line 98 of file FString.h.

References TArray< InElementType, InAllocator >::AddUninitialized(), FGenericPlatformString::Convert(), Data, TArray< InElementType, InAllocator >::GetData(), and TCString< T >::Strlen().

◆ FString() [7/9]

FORCEINLINE FString::FString ( int32  InCount,
const TCHAR InSrc 
)
inlineexplicit

Constructor to create FString with specified number of characters from another string with additional character zero

Parameters
InCounthow many characters to copy
InSrcString to copy from

Definition at line 116 of file FString.h.

References TArray< InElementType, InAllocator >::AddUninitialized(), Data, TArray< InElementType, InAllocator >::GetData(), TArray< InElementType, InAllocator >::Num(), and TCString< T >::Strncpy().

◆ FString() [8/9]

FORCEINLINE FString::FString ( const std::string &  str)
inlineexplicit

Constructor to create FString from std::string

Definition at line 129 of file FString.h.

◆ FString() [9/9]

FORCEINLINE FString::FString ( const std::wstring &  str)
inlineexplicit

Constructor to create FString from std::wstring

Definition at line 137 of file FString.h.

Member Function Documentation

◆ Append() [1/2]

FORCEINLINE FString & FString::Append ( const FString Text)
inline

Definition at line 396 of file FString.h.

◆ Append() [2/2]

FString & FString::Append ( const TCHAR Text,
int32  Count 
)
inline

◆ AppendChar()

FORCEINLINE FString & FString::AppendChar ( const TCHAR  InChar)
inline

Concatenate this with given char

Parameters
InCharother Char to be concatenated onto the end of this string
Returns
reference to this

Definition at line 390 of file FString.h.

Referenced by ConvertTabsToSpaces().

◆ AppendChars()

FORCEINLINE void FString::AppendChars ( const TCHAR Array,
int32  Count 
)
inline

Appends an array of characters to the string.

Parameters
ArrayA pointer to the start of an array of characters to append. This array need not be null-terminated, and null characters are not treated specially.
CountThe number of characters to copy from Array.

Definition at line 322 of file FString.h.

References TArray< InElementType, InAllocator >::AddUninitialized(), CopyAssignItems(), Data, TArray< InElementType, InAllocator >::GetData(), and TArray< InElementType, InAllocator >::Num().

Referenced by ConcatFStrings(), ConcatFStringToTCHARs(), operator+=(), and Replace().

◆ AppendInt()

void FString::AppendInt ( int32  InNum)
inline

appends the integer InNum to this string

Definition at line 2415 of file FString.h.

References Num.

Referenced by FromInt().

◆ CheckInvariants()

FORCEINLINE void FString::CheckInvariants ( ) const
inline

Run slow checks on this string

Definition at line 222 of file FString.h.

Referenced by Append(), and operator+=().

◆ Chr()

FString FString::Chr ( TCHAR  Ch)
inlinestatic

Definition at line 2494 of file FString.h.

References FString().

◆ ChrN()

FString FString::ChrN ( int32  NumCharacters,
TCHAR  Char 
)
inlinestatic

Returns a string that is full of a variable number of characters

Parameters
NumCharactersNumber of characters to put into the string
CharCharacter to put into the string
Returns
The string of NumCharacters characters.

Definition at line 2501 of file FString.h.

References TArray< InElementType, InAllocator >::AddUninitialized(), and Data.

Referenced by LeftPad(), and RightPad().

◆ Compare()

FORCEINLINE int32 FString::Compare ( const FString Other,
ESearchCase::Type  SearchCase = ESearchCase::CaseSensitive 
) const
inline

Lexicographically tests how this string compares to the Other given string

Parameters
OtherThe string test against
SearchCaseWhether or not the comparison should ignore case
Returns
0 if equal, negative if less than, positive if greater than

Definition at line 1240 of file FString.h.

References ESearchCase::CaseSensitive, TCString< T >::Strcmp(), and TCString< T >::Stricmp().

Referenced by ArkApi::Commands::CheckCommands().

◆ ConcatFStrings()

template<typename LhsType , typename RhsType >
static FORCEINLINE FString FString::ConcatFStrings ( typename TIdentity< LhsType >::Type  Lhs,
typename TIdentity< RhsType >::Type  Rhs 
)
inlinestaticprivate

Definition at line 550 of file FString.h.

References AppendChars(), and MoveTempIfPossible().

◆ ConcatFStringToTCHARs()

template<typename LhsType >
static FORCEINLINE FString FString::ConcatFStringToTCHARs ( typename TIdentity< LhsType >::Type  Lhs,
const TCHAR Rhs 
)
inlinestaticprivate

Definition at line 596 of file FString.h.

References AppendChars(), MoveTempIfPossible(), and TCString< T >::Strlen().

◆ ConcatTCHARsToFString()

template<typename RhsType >
static FORCEINLINE FString FString::ConcatTCHARsToFString ( const TCHAR Lhs,
typename TIdentity< RhsType >::Type  Rhs 
)
inlinestaticprivate

◆ Contains() [1/2]

FORCEINLINE bool FString::Contains ( const FString SubStr,
ESearchCase::Type  SearchCase = ESearchCase::IgnoreCase,
ESearchDir::Type  SearchDir = ESearchDir::FromStart 
) const
inline

Returns whether this string contains the specified substring.

Parameters
SubStrFind to search for
SearchCaseIndicates whether the search is case sensitive or not ( defaults to ESearchCase::IgnoreCase )
SearchDirIndicates whether the search starts at the begining or at the end ( defaults to ESearchDir::FromStart )
Returns
Returns whether the string contains the substring

Definition at line 1156 of file FString.h.

References Find(), and INDEX_NONE.

◆ Contains() [2/2]

FORCEINLINE bool FString::Contains ( const TCHAR SubStr,
ESearchCase::Type  SearchCase = ESearchCase::IgnoreCase,
ESearchDir::Type  SearchDir = ESearchDir::FromStart 
) const
inline

Returns whether this string contains the specified substring.

Parameters
SubStrFind to search for
SearchCaseIndicates whether the search is case sensitive or not ( defaults to ESearchCase::IgnoreCase )
SearchDirIndicates whether the search starts at the begining or at the end ( defaults to ESearchDir::FromStart )
Returns
Returns whether the string contains the substring

Definition at line 1142 of file FString.h.

References Find(), and INDEX_NONE.

Referenced by ReplaceInline(), and ReplaceQuotesWithEscapedQuotes().

◆ ConvertTabsToSpaces()

FString FString::ConvertTabsToSpaces ( const int32  InSpacesPerTab)
inline

Replaces all instances of '\t' with TabWidth number of spaces

Parameters
InSpacesPerTab- Number of spaces that a tab represents
Returns
copy of this string with replacement made

Replaces all instances of '\t' with TabWidth number of spaces

Parameters
InSpacesPerTab- Number of spaces that a tab represents

Definition at line 2980 of file FString.h.

References AppendChar(), Find(), ESearchDir::FromEnd, ESearchCase::IgnoreCase, INDEX_NONE, Left(), Len(), and Mid().

◆ CreateConstIterator()

FORCEINLINE TConstIterator FString::CreateConstIterator ( ) const
inline

Creates a const iterator for the characters in this string

Definition at line 198 of file FString.h.

References TArray< InElementType, InAllocator >::CreateConstIterator(), and Data.

◆ CreateIterator()

FORCEINLINE TIterator FString::CreateIterator ( )
inline

Creates an iterator for the characters in this string

Definition at line 192 of file FString.h.

References TArray< InElementType, InAllocator >::CreateIterator(), and Data.

◆ CullArray()

int32 FString::CullArray ( TArray< FString > *  InArray)
inlinestatic

Takes an array of strings and removes any zero length entries.

Parameters
InArrayThe array to cull
Returns
The number of elements left in InArray

Definition at line 2361 of file FString.h.

References Empty(), TArray< InElementType, InAllocator >::Num(), and TArray< InElementType, InAllocator >::Remove().

◆ Empty()

FORCEINLINE void FString::Empty ( int32  Slack = 0)
inline

Create empty string of given size with zero terminating character

Parameters
Slacklength of empty string to create

Definition at line 231 of file FString.h.

References Data, and TArray< InElementType, InAllocator >::Empty().

Referenced by BytesToHex(), BytesToString(), CullArray(), and ReplaceInline().

◆ EndsWith() [1/2]

bool FString::EndsWith ( const FString InSuffix,
ESearchCase::Type  SearchCase = ESearchCase::IgnoreCase 
) const
inline

Test whether this string ends with given string.

Parameters
SearchCaseIndicates whether the search is case sensitive or not ( defaults to ESearchCase::IgnoreCase )
Returns
true if this string ends with specified text, false otherwise

Definition at line 2180 of file FString.h.

References ESearchCase::IgnoreCase, Len(), TCString< T >::Strcmp(), and TCString< T >::Stricmp().

◆ EndsWith() [2/2]

bool FString::EndsWith ( const TCHAR InSuffix,
ESearchCase::Type  SearchCase = ESearchCase::IgnoreCase 
) const
inline

Test whether this string ends with given string.

Parameters
SearchCaseIndicates whether the search is case sensitive or not ( defaults to ESearchCase::IgnoreCase )
Returns
true if this string ends with specified text, false otherwise

Definition at line 2155 of file FString.h.

References Data, TArray< InElementType, InAllocator >::GetData(), ESearchCase::IgnoreCase, Len(), TCString< T >::Strcmp(), TCString< T >::Stricmp(), and TCString< T >::Strlen().

Referenced by ArkApi::IApiUtils::GetClassBlueprint(), MatchesWildcard(), and RemoveFromEnd().

◆ Equals()

FORCEINLINE bool FString::Equals ( const FString Other,
ESearchCase::Type  SearchCase = ESearchCase::CaseSensitive 
) const
inline

Lexicographically tests whether this string is equivalent to the Other given string

Parameters
OtherThe string test against
SearchCaseWhether or not the comparison should ignore case
Returns
true if this string is lexicographically equivalent to the other, otherwise false

Definition at line 1221 of file FString.h.

References ESearchCase::CaseSensitive, TCString< T >::Strcmp(), and TCString< T >::Stricmp().

Referenced by ArkApi::IApiUtils::FindPlayerFromCharacterName(), and ArkApi::IApiUtils::GetInventoryItemCount().

◆ Find() [1/2]

FORCEINLINE int32 FString::Find ( const FString SubStr,
ESearchCase::Type  SearchCase = ESearchCase::IgnoreCase,
ESearchDir::Type  SearchDir = ESearchDir::FromStart,
int32  StartPosition = INDEX_NONE 
) const
inline

Searches the string for a substring, and returns index into this string of the first found instance. Can search from beginning or end, and ignore case or not.

Parameters
SubStrThe string to search for
StartPositionThe start character position to search from
SearchCaseIndicates whether the search is case sensitive or not ( defaults to ESearchCase::IgnoreCase )
SearchDirIndicates whether the search starts at the begining or at the end ( defaults to ESearchDir::FromStart )

Definition at line 1128 of file FString.h.

References Find().

◆ Find() [2/2]

int32 FString::Find ( const TCHAR SubStr,
ESearchCase::Type  SearchCase = ESearchCase::IgnoreCase,
ESearchDir::Type  SearchDir = ESearchDir::FromStart,
int32  StartPosition = INDEX_NONE 
) const
inline

Searches the string for a substring, and returns index into this string of the first found instance. Can search from beginning or end, and ignore case or not.

Parameters
SubStrThe string array of TCHAR to search for
StartPositionThe start character position to search from
SearchCaseIndicates whether the search is case sensitive or not
SearchDirIndicates whether the search starts at the begining or at the end.

Definition at line 2027 of file FString.h.

References ESearchCase::CaseSensitive, FMath::Clamp(), Find(), ESearchDir::FromStart, FString(), ESearchCase::IgnoreCase, INDEX_NONE, Len(), FGenericPlatformMath::Max(), TCString< T >::Stristr(), TCString< T >::Strlen(), TCString< T >::Strstr(), and ToUpper().

Referenced by Contains(), ConvertTabsToSpaces(), Find(), MatchesWildcard(), and Split().

◆ FindChar()

FORCEINLINE bool FString::FindChar ( TCHAR  InChar,
int32 Index 
) const
inline

Searches the string for a character

Parameters
InCharthe character to search for
Indexout the position the character was found at, INDEX_NONE if return is false
Returns
true if character was found in this string, otherwise false

Definition at line 1169 of file FString.h.

References Data, and TArray< InElementType, InAllocator >::Find().

Referenced by ArkApi::IApiUtils::GetClassBlueprint().

◆ FindLastChar()

FORCEINLINE bool FString::FindLastChar ( TCHAR  InChar,
int32 Index 
) const
inline

Searches the string for the last occurrence of a character

Parameters
InCharthe character to search for
Indexout the position the character was found at, INDEX_NONE if return is false
Returns
true if character was found in this string, otherwise false

Definition at line 1181 of file FString.h.

References Data, and TArray< InElementType, InAllocator >::FindLast().

Referenced by ArkApi::IApiUtils::GetCharacterName().

◆ FindLastCharByPredicate() [1/2]

template<typename Predicate >
FORCEINLINE int32 FString::FindLastCharByPredicate ( Predicate  Pred) const
inline

Searches the string for the last occurrence of a character which matches the specified predicate.

Parameters
PredPredicate that takes TCHAR and returns true if TCHAR matches search criteria, false otherwise.
StartIndexIndex of element from which to start searching. Defaults to last TCHAR in string.
Returns
Index of found TCHAR, INDEX_NONE otherwise.

Definition at line 1209 of file FString.h.

References Data, TArray< InElementType, InAllocator >::FindLastByPredicate(), and Len().

◆ FindLastCharByPredicate() [2/2]

template<typename Predicate >
FORCEINLINE int32 FString::FindLastCharByPredicate ( Predicate  Pred,
int32  Count 
) const
inline

Searches an initial substring for the last occurrence of a character which matches the specified predicate.

Parameters
PredPredicate that takes TCHAR and returns true if TCHAR matches search criteria, false otherwise.
CountThe number of characters from the front of the string through which to search.
Returns
Index of found TCHAR, INDEX_NONE otherwise.

Definition at line 1195 of file FString.h.

References Data, and TArray< InElementType, InAllocator >::FindLastByPredicate().

◆ Format()

template<typename T , typename... Args>
static FString FString::Format ( const T *  format,
Args &&...  args 
)
inlinestatic

◆ FormatAsNumber()

FString FString::FormatAsNumber ( int32  InNumber)
inlinestatic

Definition at line 2395 of file FString.h.

References FromInt(), and x.

◆ FromInt()

static FORCEINLINE FString FString::FromInt ( int32  Num)
inlinestatic

Converts an integer to a string.

Definition at line 1548 of file FString.h.

References AppendInt(), and Num.

Referenced by FormatAsNumber().

◆ GetAllocatedSize()

FORCEINLINE uint32 FString::GetAllocatedSize ( ) const
inline

Definition at line 214 of file FString.h.

References Data, and TArray< InElementType, InAllocator >::GetAllocatedSize().

◆ GetCharArray() [1/2]

FORCEINLINE DataType & FString::GetCharArray ( )
inline

Get string as array of TCHARS

Warning
: Operations on the TArray<*CHAR> can be unsafe, such as adding non-terminating 0's or removing the terminating zero.

Definition at line 293 of file FString.h.

References Data.

◆ GetCharArray() [2/2]

FORCEINLINE const DataType & FString::GetCharArray ( ) const
inline

Get string as const array of TCHARS

Definition at line 299 of file FString.h.

References Data.

◆ InsertAt() [1/2]

FORCEINLINE void FString::InsertAt ( int32  Index,
const FString Characters 
)
inline

◆ InsertAt() [2/2]

FORCEINLINE void FString::InsertAt ( int32  Index,
TCHAR  Character 
)
inline

◆ IsEmpty()

FORCEINLINE bool FString::IsEmpty ( ) const
inline

Test whether this string is empty

Returns
true if this string is empty, otherwise return false.

Definition at line 241 of file FString.h.

References Data, and TArray< InElementType, InAllocator >::Num().

Referenced by ArkApi::IApiUtils::FindPlayerFromCharacterName(), ArkApi::IApiUtils::GetIPAddress(), IsNumeric(), RemoveFromEnd(), RemoveFromStart(), and Replace().

◆ IsNumeric()

bool FString::IsNumeric ( ) const
inline
Returns
true if the string only contains numeric characters

Definition at line 2541 of file FString.h.

References Data, TArray< InElementType, InAllocator >::GetData(), IsEmpty(), and TCString< T >::IsNumeric().

◆ IsValidIndex()

FORCEINLINE bool FString::IsValidIndex ( int32  Index) const
inline

Tests if index is valid, i.e. greater than or equal to zero, and less than the number of characters in this string (excluding the null terminator).

Parameters
IndexIndex to test.
Returns
True if index is valid. False otherwise.

Definition at line 272 of file FString.h.

References Len().

◆ Join()

template<typename T , typename Allocator >
static FString FString::Join ( const TArray< T, Allocator > &  Array,
const TCHAR Separator 
)
inlinestatic

Joins an array of 'something that can be concatentated to strings with +=' together into a single string with separators.

Parameters
ArrayThe array of 'things' to concatenate.
SeparatorThe string used to separate each element.
Returns
The final, joined, separated string.

Definition at line 1587 of file FString.h.

◆ Left()

FORCEINLINE FString FString::Left ( int32  Count) const
inline
Returns
the left most given number of characters

Definition at line 1075 of file FString.h.

References FMath::Clamp(), FString(), and Len().

Referenced by ConvertTabsToSpaces(), and MatchesWildcard().

◆ LeftChop()

FORCEINLINE FString FString::LeftChop ( int32  Count) const
inline
Returns
the left most characters from the string chopping the given number of characters from the end

Definition at line 1081 of file FString.h.

References FMath::Clamp(), FString(), and Len().

Referenced by ArkApi::IApiUtils::GetClassBlueprint().

◆ LeftPad()

FString FString::LeftPad ( int32  ChCount) const
inline

Pad the left of this string for ChCount characters

Definition at line 2513 of file FString.h.

References ChrN(), and Len().

◆ Len()

◆ MatchesWildcard()

bool FString::MatchesWildcard ( const FString Wildcard,
ESearchCase::Type  SearchCase = ESearchCase::IgnoreCase 
) const
inline

Searches this string for a given wild card

Parameters
Wildcard*?-type wildcard
SearchCaseIndicates whether the search is case sensitive or not ( defaults to ESearchCase::IgnoreCase )
Returns
true if this string matches the *?-type wildcard given.
Warning
This is a simple, SLOW routine. Use with caution

Definition at line 2585 of file FString.h.

References ESearchCase::CaseSensitive, EndsWith(), Find(), ESearchDir::FromEnd, ESearchCase::IgnoreCase, INDEX_NONE, Left(), Len(), MatchesWildcard(), Mid(), Right(), StartsWith(), TCString< T >::Strcmp(), and TCString< T >::Stricmp().

Referenced by MatchesWildcard().

◆ Mid()

FORCEINLINE FString FString::Mid ( int32  Start,
int32  Count = INT_MAX 
) const
inline
Returns
the substring from Start position for Count characters.

Definition at line 1099 of file FString.h.

References FMath::Clamp(), End, FString(), and Len().

Referenced by ConvertTabsToSpaces(), ArkApi::IApiUtils::GetCharacterName(), ArkApi::IApiUtils::GetClassBlueprint(), MatchesWildcard(), Split(), and TrimQuotes().

◆ operator*()

FORCEINLINE const TCHAR * FString::operator* ( ) const
inline

Get pointer to the string

@Return Pointer to Array of TCHAR if Num, otherwise the empty string

Definition at line 282 of file FString.h.

References Data, TArray< InElementType, InAllocator >::GetData(), and TArray< InElementType, InAllocator >::Num().

◆ operator+=() [1/3]

template<typename CharType >
FORCEINLINE TEnableIf< TIsCharType< CharType >::Value, FString & >::Type FString::operator+= ( CharType  InChar)
inline

Concatenate this with given char

Parameters
inCharother Char to be concatenated onto the end of this string
Returns
reference to this

Definition at line 363 of file FString.h.

References TArray< InElementType, InAllocator >::AddUninitialized(), CheckInvariants(), Data, and TArray< InElementType, InAllocator >::Num().

◆ operator+=() [2/3]

FORCEINLINE FString & FString::operator+= ( const FString Str)
inline

Concatenate this with given string

Parameters
Strother string to be concatenated onto the end of this
Returns
reference to this

Definition at line 500 of file FString.h.

References AppendChars(), CheckInvariants(), Data, TArray< InElementType, InAllocator >::GetData(), and Len().

◆ operator+=() [3/3]

FORCEINLINE FString & FString::operator+= ( const TCHAR Str)
inline

Concatenate this with given string

Parameters
Strarray of TCHAR to be concatenated onto the end of this
Returns
reference to this

Definition at line 347 of file FString.h.

References AppendChars(), CheckInvariants(), and TCString< T >::Strlen().

◆ operator/=() [1/2]

FORCEINLINE FString & FString::operator/= ( const FString Str)
inline

Concatenate this path with given path ensuring the / character is used between them

Parameters
Strpath FString to be concatenated onto the end of this
Returns
reference to path

Definition at line 736 of file FString.h.

References Data, TArray< InElementType, InAllocator >::GetData(), Len(), and PathAppend().

◆ operator/=() [2/2]

FORCEINLINE FString & FString::operator/= ( const TCHAR Str)
inline

Concatenate this path with given path ensuring the / character is used between them

Parameters
Strpath array of TCHAR to be concatenated onto the end of this
Returns
reference to path

Definition at line 724 of file FString.h.

References PathAppend(), and TCString< T >::Strlen().

◆ operator=() [1/3]

FString & FString::operator= ( const FString )
default

◆ operator=() [2/3]

FORCEINLINE FString & FString::operator= ( const TCHAR Other)
inline

◆ operator=() [3/3]

FString & FString::operator= ( FString &&  )
default

◆ operator[]() [1/2]

FORCEINLINE TCHAR & FString::operator[] ( int32  Index)
inline

Return specific character from this string

Parameters
Indexinto string
Returns
Character at Index

Definition at line 169 of file FString.h.

References Data, and TArray< InElementType, InAllocator >::GetData().

◆ operator[]() [2/2]

FORCEINLINE const TCHAR & FString::operator[] ( int32  Index) const
inline

Return specific const character from this string

Parameters
Indexinto string
Returns
const Character at Index

Definition at line 180 of file FString.h.

References Data, and TArray< InElementType, InAllocator >::GetData().

◆ ParseIntoArray() [1/2]

int32 FString::ParseIntoArray ( TArray< FString > &  OutArray,
const TCHAR **  DelimArray,
int32  NumDelims,
bool  InCullEmpty = true 
) const
inline

Breaks up a delimited string into elements of a string array, using the given delimiters

Warning
Caution!! this routine is O(N^2) allocations...use it for parsing very short text or not at all!
Parameters
InArrayThe array to fill with the string pieces
DelimArrayThe strings to delimit on
NumDelimsThe number of delimiters.
Returns
The number of elements in InArray

Definition at line 2702 of file FString.h.

References Data, TArray< InElementType, InAllocator >::Empty(), FString(), TArray< InElementType, InAllocator >::GetData(), INDEX_NONE, Len(), TArray< InElementType, InAllocator >::Num(), TCString< T >::Strlen(), and TCString< T >::Strncmp().

◆ ParseIntoArray() [2/2]

int32 FString::ParseIntoArray ( TArray< FString > &  OutArray,
const TCHAR pchDelim,
bool  InCullEmpty = true 
) const
inline

Breaks up a delimited string into elements of a string array.

Parameters
InArrayThe array to fill with the string pieces
pchDelimThe string to delimit on
InCullEmptyIf 1, empty strings are not added to the array
Returns
The number of elements in InArray

Definition at line 2560 of file FString.h.

References Data, TArray< InElementType, InAllocator >::Emplace(), TArray< InElementType, InAllocator >::GetData(), TArray< InElementType, InAllocator >::Num(), TArray< InElementType, InAllocator >::Reset(), TCString< T >::Strlen(), and TCString< T >::Strstr().

Referenced by ArkApi::Commands::CheckCommands(), API::ArkBaseApi::LoadPlugin(), API::AtlasBaseApi::LoadPlugin(), ParseIntoArrayLines(), ParseIntoArrayWS(), API::ArkBaseApi::UnloadPlugin(), and API::AtlasBaseApi::UnloadPlugin().

◆ ParseIntoArrayLines()

int32 FString::ParseIntoArrayLines ( TArray< FString > &  OutArray,
bool  InCullEmpty = true 
) const
inline

Breaks up a delimited string into elements of a string array, using line ending characters

Warning
Caution!! this routine is O(N^2) allocations...use it for parsing very short text or not at all!
Parameters
InArrayThe array to fill with the string pieces
Returns
The number of elements in InArray

Definition at line 2684 of file FString.h.

References ARRAY_COUNT, and ParseIntoArray().

◆ ParseIntoArrayWS()

int32 FString::ParseIntoArrayWS ( TArray< FString > &  OutArray,
const TCHAR pchExtraDelim = nullptr,
bool  InCullEmpty = true 
) const
inline

Breaks up a delimited string into elements of a string array, using any whitespace and an optional extra delimter, like a ","

Warning
Caution!! this routine is O(N^2) allocations...use it for parsing very short text or not at all!
Parameters
InArrayThe array to fill with the string pieces
pchExtraDelimThe string to delimit on
Returns
The number of elements in InArray

Caution!! this routine is O(N^2) allocations...use it for parsing very short text or not at all

Definition at line 2660 of file FString.h.

References ARRAY_COUNT, and ParseIntoArray().

◆ PathAppend()

void FString::PathAppend ( const TCHAR Str,
int32  StrLength 
)
inline

Concatenate this path with given path ensuring the / character is used between them

Parameters
StrPointer to an array of TCHARs (not necessarily null-terminated) to be concatenated onto the end of this.
StrLengthExact number of characters from Str to append.

Definition at line 2234 of file FString.h.

References TArray< InElementType, InAllocator >::Add(), TArray< InElementType, InAllocator >::Append(), Data, TArray< InElementType, InAllocator >::Num(), TArray< InElementType, InAllocator >::Pop(), and TArray< InElementType, InAllocator >::Reserve().

Referenced by operator/=().

◆ RemoveAt()

FORCEINLINE void FString::RemoveAt ( int32  Index,
int32  Count = 1,
bool  bAllowShrinking = true 
)
inline

Removes characters within the string.

Parameters
IndexThe index of the first character to remove.
CountThe number of characters to remove.
bAllowShrinkingWhether or not to reallocate to shrink the storage after removal.

Definition at line 435 of file FString.h.

References Data, and TArray< InElementType, InAllocator >::RemoveAt().

Referenced by RemoveFromEnd(), RemoveFromStart(), TrimEndInline(), and TrimStartInline().

◆ RemoveFromEnd()

bool FString::RemoveFromEnd ( const FString InSuffix,
ESearchCase::Type  SearchCase = ESearchCase::IgnoreCase 
)
inline

Removes the text from the end of the string if it exists.

Parameters
InSuffixthe suffix to search for at the end of the string to remove.
Returns
true if the suffix was removed, otherwise false.

Definition at line 2212 of file FString.h.

References EndsWith(), IsEmpty(), Len(), and RemoveAt().

◆ RemoveFromStart()

bool FString::RemoveFromStart ( const FString InPrefix,
ESearchCase::Type  SearchCase = ESearchCase::IgnoreCase 
)
inline

Removes the text from the start of the string if it exists.

Parameters
InPrefixthe prefix to search for at the start of the string to remove.
Returns
true if the prefix was removed, otherwise false.

Definition at line 2196 of file FString.h.

References IsEmpty(), Len(), RemoveAt(), and StartsWith().

◆ Replace()

FString FString::Replace ( const TCHAR From,
const TCHAR To,
ESearchCase::Type  SearchCase = ESearchCase::IgnoreCase 
) const
inline

Replace all occurrences of a substring in this string

Parameters
Fromsubstring to replace
Tosubstring to replace From with
SearchCaseIndicates whether the search is case sensitive or not ( defaults to ESearchCase::IgnoreCase )
Returns
a copy of this string with the replacement made

Definition at line 2766 of file FString.h.

References AppendChars(), Data, TArray< InElementType, InAllocator >::GetData(), ESearchCase::IgnoreCase, IsEmpty(), TCString< T >::Stristr(), TCString< T >::Strlen(), and TCString< T >::Strstr().

Referenced by ArkApi::IApiUtils::GetClassBlueprint().

◆ ReplaceCharWithEscapedChar()

FString FString::ReplaceCharWithEscapedChar ( const TArray< TCHAR > *  Chars = nullptr) const
inline

Replaces certain characters with the "escaped" version of that character (i.e. replaces "\n" with "\\n"). The characters supported are: {
, \r, \t, \', ", \ }.

Parameters
Charsby default, replaces all supported characters; this parameter allows you to limit the replacement to a subset.
Returns
a string with all control characters replaced by the escaped version.

Definition at line 2934 of file FString.h.

References CharToEscapeSeqMap, TArray< InElementType, InAllocator >::Contains(), Len(), MaxSupportedEscapeChars, TArray< InElementType, InAllocator >::Num(), and ReplaceInline().

◆ ReplaceEscapedCharWithChar()

FString FString::ReplaceEscapedCharWithChar ( const TArray< TCHAR > *  Chars = nullptr) const
inline

Removes the escape backslash for all supported characters, replacing the escape and character with the non-escaped version. (i.e. replaces "\\n" with "\n". Counterpart to ReplaceCharWithEscapedChar().

Returns
copy of this string with replacement made

Removes the escape backslash for all supported characters, replacing the escape and character with the non-escaped version. (i.e. replaces "\\n" with "\n". Counterpart to ReplaceCharWithEscapedChar().

Definition at line 2956 of file FString.h.

References CharToEscapeSeqMap, TArray< InElementType, InAllocator >::Contains(), Len(), MaxSupportedEscapeChars, TArray< InElementType, InAllocator >::Num(), and ReplaceInline().

◆ ReplaceInline()

int32 FString::ReplaceInline ( const TCHAR SearchText,
const TCHAR ReplacementText,
ESearchCase::Type  SearchCase = ESearchCase::IgnoreCase 
)
inline

Replace all occurrences of SearchText with ReplacementText in this string.

Parameters
SearchTextthe text that should be removed from this string
ReplacementTextthe text to insert in its place
SearchCaseIndicates whether the search is case sensitive or not ( defaults to ESearchCase::IgnoreCase )
Returns
the number of occurrences of SearchText that were replaced.

Definition at line 2805 of file FString.h.

References Contains(), Empty(), ESearchCase::IgnoreCase, Len(), TCString< T >::Strcmp(), TCString< T >::Stristr(), TCString< T >::Strlen(), and TCString< T >::Strstr().

Referenced by ReplaceCharWithEscapedChar(), and ReplaceEscapedCharWithChar().

◆ ReplaceQuotesWithEscapedQuotes()

FString FString::ReplaceQuotesWithEscapedQuotes ( ) const
inline

Returns a copy of this string with all quote marks escaped (unless the quote is already escaped)

Definition at line 2880 of file FString.h.

References ESearchCase::CaseSensitive, and Contains().

◆ Reserve()

FORCEINLINE void FString::Reserve ( const uint32  CharacterCount)
inline

Definition at line 1542 of file FString.h.

References Data, and TArray< InElementType, InAllocator >::Reserve().

◆ Reset()

FORCEINLINE void FString::Reset ( int32  NewReservedSize = 0)
inline

Empties the string, but doesn't change memory allocation, unless the new size is larger than the current string.

Parameters
NewReservedSizeThe expected usage size (in characters, not including the terminator) after calling this function.

Definition at line 251 of file FString.h.

References Data, and TArray< InElementType, InAllocator >::Reset().

◆ Reverse()

FString FString::Reverse ( ) const
inline

Returns a copy of this string, with the characters in reverse order

Definition at line 2368 of file FString.h.

References ReverseString().

◆ ReverseString()

void FString::ReverseString ( )
inline

Reverses the order of characters in this string

Definition at line 2375 of file FString.h.

References Len().

Referenced by Reverse().

◆ Right()

FORCEINLINE FString FString::Right ( int32  Count) const
inline
Returns
the string to the right of the specified location, counting back from the right (end of the word).

Definition at line 1087 of file FString.h.

References FMath::Clamp(), FString(), and Len().

Referenced by MatchesWildcard().

◆ RightChop()

FORCEINLINE FString FString::RightChop ( int32  Count) const
inline
Returns
the string to the right of the specified location, counting forward from the left (from the beginning of the word).

Definition at line 1093 of file FString.h.

References FMath::Clamp(), FString(), and Len().

◆ RightPad()

FString FString::RightPad ( int32  ChCount) const
inline

Pad the right of this string for ChCount characters

Definition at line 2527 of file FString.h.

References ChrN(), and Len().

◆ Shrink()

FORCEINLINE void FString::Shrink ( )
inline

Remove unallocated empty character space from the end of this string

Definition at line 260 of file FString.h.

References Data, and TArray< InElementType, InAllocator >::Shrink().

◆ Split()

bool FString::Split ( const FString InS,
FString LeftS,
FString RightS,
ESearchCase::Type  SearchCase = ESearchCase::IgnoreCase,
ESearchDir::Type  SearchDir = ESearchDir::FromStart 
) const
inline

Splits this string at given string position case sensitive.

Parameters
InStrThe string to search and split at
LeftSout the string to the left of InStr, not updated if return is false
RightSout the string to the right of InStr, not updated if return is false
SearchCaseIndicates whether the search is case sensitive or not ( defaults to ESearchCase::IgnoreCase )
SearchDirIndicates whether the search starts at the begining or at the end ( defaults to ESearchDir::FromStart )
Returns
true if string is split, otherwise false

Definition at line 1262 of file FString.h.

References Find(), Left, Len(), and Mid().

◆ StartsWith() [1/2]

bool FString::StartsWith ( const FString InPrefix,
ESearchCase::Type  SearchCase = ESearchCase::IgnoreCase 
) const
inline

Test whether this string starts with given string.

Parameters
SearchCaseIndicates whether the search is case sensitive or not ( defaults to ESearchCase::IgnoreCase )
Returns
true if this string begins with specified text, false otherwise

Definition at line 2143 of file FString.h.

References ESearchCase::IgnoreCase, Len(), TCString< T >::Strncmp(), and TCString< T >::Strnicmp().

◆ StartsWith() [2/2]

bool FString::StartsWith ( const TCHAR InSuffix,
ESearchCase::Type  SearchCase = ESearchCase::IgnoreCase 
) const
inline

Test whether this string starts with given string.

Parameters
SearchCaseIndicates whether the search is case sensitive or not ( defaults to ESearchCase::IgnoreCase )
Returns
true if this string begins with specified text, false otherwise

Definition at line 2131 of file FString.h.

References ESearchCase::IgnoreCase, TCString< T >::Strlen(), TCString< T >::Strncmp(), and TCString< T >::Strnicmp().

Referenced by ArkApi::IApiUtils::FindPlayerFromCharacterName(), MatchesWildcard(), and RemoveFromStart().

◆ ToBlob()

bool FString::ToBlob ( const FString Source,
uint8 DestBuffer,
const uint32  DestSize 
)
inlinestatic

Converts a string into a buffer

Parameters
DestBufferthe buffer to fill with the string data
DestSizethe size of the buffer in bytes (must be at least string len / 3)
Returns
true if the conversion happened, false otherwise

Definition at line 2448 of file FString.h.

References TCString< T >::Atoi(), and Len().

◆ ToHexBlob()

bool FString::ToHexBlob ( const FString Source,
uint8 DestBuffer,
const uint32  DestSize 
)
inlinestatic

Converts a string into a buffer

Parameters
DestBufferthe buffer to fill with the string data
DestSizethe size of the buffer in bytes (must be at least string len / 2)
Returns
true if the conversion happened, false otherwise

Definition at line 2471 of file FString.h.

References End, Len(), and TCString< T >::Strtoi().

◆ ToLower() [1/2]

FString FString::ToLower ( ) &&
inline

Converts all characters in this rvalue string to lowercase and moves it into the returned string.

Returns
a new string with the characters of this converted to lowercase

Definition at line 2115 of file FString.h.

References MoveTemp().

◆ ToLower() [2/2]

FString FString::ToLower ( ) const &
inline
Returns
a new string with the characters of this converted to lowercase

Definition at line 2108 of file FString.h.

References ToLowerInline().

◆ ToLowerInline()

void FString::ToLowerInline ( )
inline

Converts all characters in this string to lowercase

Definition at line 2121 of file FString.h.

References Data, TArray< InElementType, InAllocator >::GetData(), Len(), and TChar< T >::ToLower().

Referenced by ToLower().

◆ ToString()

std::string FString::ToString ( ) const
inline

Convert FString to std::string.

Definition at line 1611 of file FString.h.

References Data, TArray< InElementType, InAllocator >::GetData(), and Len().

Referenced by Globals::FindClass().

◆ ToUpper() [1/2]

FString FString::ToUpper ( ) &&
inline

Converts all characters in this rvalue string to uppercase and moves it into the returned string.

Returns
a new string with the characters of this converted to uppercase

Definition at line 2091 of file FString.h.

References MoveTemp().

◆ ToUpper() [2/2]

FString FString::ToUpper ( ) const &
inline
Returns
a new string with the characters of this converted to uppercase

Definition at line 2084 of file FString.h.

References ToUpperInline().

Referenced by Find().

◆ ToUpperInline()

void FString::ToUpperInline ( )
inline

Converts all characters in this string to uppercase

Definition at line 2097 of file FString.h.

References Data, TArray< InElementType, InAllocator >::GetData(), Len(), and TChar< T >::ToUpper().

Referenced by ToUpper().

◆ TrimEnd() [1/2]

FString FString::TrimEnd ( ) &&
inline

Removes whitespace characters from the end of this string.

Note
Unlike TrimTrailing() this function returns a copy, and does not mutate the string.

Definition at line 2327 of file FString.h.

References MoveTemp(), and TrimEndInline().

◆ TrimEnd() [2/2]

FString FString::TrimEnd ( ) const &
inline

Removes whitespace characters from the end of this string.

Note
Unlike TrimTrailing() this function returns a copy, and does not mutate the string.

Definition at line 2320 of file FString.h.

References TrimEndInline().

◆ TrimEndInline()

void FString::TrimEndInline ( )
inline

Removes whitespace characters from the end of this string. Modifies the string in-place.

Definition at line 2310 of file FString.h.

References End, TChar< T >::IsWhitespace(), Len(), and RemoveAt().

Referenced by TrimEnd(), and TrimStartAndEndInline().

◆ TrimQuotes()

FString FString::TrimQuotes ( bool *  bQuotesRemoved = nullptr) const
inline

Returns a copy of this string with wrapping quotation marks removed.

Definition at line 2334 of file FString.h.

References Len(), and Mid().

◆ TrimStart() [1/2]

FString FString::TrimStart ( ) &&
inline

Removes whitespace characters from the start of this string.

Note
Unlike Trim() this function returns a copy, and does not mutate the string.

Definition at line 2303 of file FString.h.

References MoveTemp(), and TrimStartInline().

◆ TrimStart() [2/2]

FString FString::TrimStart ( ) const &
inline

Removes whitespace characters from the start of this string.

Note
Unlike Trim() this function returns a copy, and does not mutate the string.

Definition at line 2296 of file FString.h.

References TrimStartInline().

◆ TrimStartAndEnd() [1/2]

FString FString::TrimStartAndEnd ( ) &&
inline

Removes whitespace characters from the start and end of this string.

Note
Unlike Trim() this function returns a copy, and does not mutate the string.

Definition at line 2279 of file FString.h.

References MoveTemp(), and TrimStartAndEndInline().

◆ TrimStartAndEnd() [2/2]

FString FString::TrimStartAndEnd ( ) const &
inline

Removes whitespace characters from the start and end of this string.

Note
Unlike Trim() this function returns a copy, and does not mutate the string.

Definition at line 2272 of file FString.h.

References TrimStartAndEndInline().

◆ TrimStartAndEndInline()

void FString::TrimStartAndEndInline ( )
inline

Removes whitespace characters from the start and end of this string. Modifies the string in-place.

Definition at line 2266 of file FString.h.

References TrimEndInline(), and TrimStartInline().

Referenced by TrimStartAndEnd().

◆ TrimStartInline()

void FString::TrimStartInline ( )
inline

Removes whitespace characters from the start of this string. Modifies the string in-place.

Definition at line 2286 of file FString.h.

References TChar< T >::IsWhitespace(), Len(), and RemoveAt().

Referenced by TrimStart(), and TrimStartAndEndInline().

◆ TrimToNullTerminator()

void FString::TrimToNullTerminator ( )
inline

Friends And Related Function Documentation

◆ begin [1/2]

FORCEINLINE friend DataType::RangedForConstIteratorType begin ( const FString Str)
friend

Definition at line 209 of file FString.h.

◆ begin [2/2]

FORCEINLINE friend DataType::RangedForIteratorType begin ( FString Str)
friend

DO NOT USE DIRECTLY STL-like iterators to enable range-based for loop support.

Definition at line 208 of file FString.h.

◆ end [1/2]

FORCEINLINE friend DataType::RangedForConstIteratorType end ( const FString Str)
friend

Definition at line 211 of file FString.h.

◆ end [2/2]

FORCEINLINE friend DataType::RangedForIteratorType end ( FString Str)
friend

Definition at line 210 of file FString.h.

◆ operator!= [1/3]

template<typename CharType >
FORCEINLINE friend bool operator!= ( const CharType *  Lhs,
const FString Rhs 
)
friend

Lexicographically test whether the left string is != the right string

Parameters
LhsString to compare against.
RhsString to compare against.
Returns
true if the left string is lexicographically != the right string, otherwise false
Note
case insensitive

Definition at line 1063 of file FString.h.

◆ operator!= [2/3]

template<typename CharType >
FORCEINLINE friend bool operator!= ( const FString Lhs,
const CharType *  Rhs 
)
friend

Lexicographically test whether the left string is != the right string

Parameters
LhsString to compare against.
RhsString to compare against.
Returns
true if the left string is lexicographically != the right string, otherwise false
Note
case insensitive

Definition at line 1049 of file FString.h.

◆ operator!= [3/3]

FORCEINLINE friend bool operator!= ( const FString Lhs,
const FString Rhs 
)
friend

Lexicographically test whether the left string is != the right string

Parameters
LhsString to compare against.
RhsString to compare against.
Returns
true if the left string is lexicographically != the right string, otherwise false
Note
case insensitive

Definition at line 1035 of file FString.h.

◆ operator+ [1/10]

template<typename CharType >
FORCEINLINE friend TEnableIf< TIsCharType< CharType >::Value, FString >::Type operator+ ( const FString Lhs,
CharType  Rhs 
)
friend

Concatenates an FString with a TCHAR.

Parameters
LhsThe FString on the left-hand-side of the expression.
RhsThe char on the right-hand-side of the expression.
Returns
The concatenated string.

Definition at line 519 of file FString.h.

◆ operator+ [2/10]

FORCEINLINE friend FString operator+ ( const FString Lhs,
const FString Rhs 
)
friend

Concatenate two FStrings.

Parameters
LhsThe FString on the left-hand-side of the expression.
RhsThe FString on the right-hand-side of the expression.
Returns
The concatenated string.

Definition at line 622 of file FString.h.

◆ operator+ [3/10]

FORCEINLINE friend FString operator+ ( const FString Lhs,
const TCHAR Rhs 
)
friend

Concatenates an FString to a TCHAR array.

Parameters
LhsThe FString on the left-hand-side of the expression.
RhsThe TCHAR array on the right-hand-side of the expression.
Returns
The concatenated string.

Definition at line 700 of file FString.h.

◆ operator+ [4/10]

FORCEINLINE friend FString operator+ ( const FString Lhs,
FString &&  Rhs 
)
friend

Concatenate two FStrings.

Parameters
LhsThe FString on the left-hand-side of the expression.
RhsThe FString on the right-hand-side of the expression.
Returns
The concatenated string.

Definition at line 648 of file FString.h.

◆ operator+ [5/10]

FORCEINLINE friend FString operator+ ( const TCHAR Lhs,
const FString Rhs 
)
friend

Concatenates a TCHAR array to an FString.

Parameters
LhsThe TCHAR array on the left-hand-side of the expression.
RhsThe FString on the right-hand-side of the expression.
Returns
The concatenated string.

Definition at line 674 of file FString.h.

◆ operator+ [6/10]

FORCEINLINE friend FString operator+ ( const TCHAR Lhs,
FString &&  Rhs 
)
friend

Concatenates a TCHAR array to an FString.

Parameters
LhsThe TCHAR array on the left-hand-side of the expression.
RhsThe FString on the right-hand-side of the expression.
Returns
The concatenated string.

Definition at line 687 of file FString.h.

◆ operator+ [7/10]

template<typename CharType >
FORCEINLINE friend TEnableIf< TIsCharType< CharType >::Value, FString >::Type operator+ ( FString &&  Lhs,
CharType  Rhs 
)
friend

Concatenates an FString with a TCHAR.

Parameters
LhsThe FString on the left-hand-side of the expression.
RhsThe char on the right-hand-side of the expression.
Returns
The concatenated string.

Definition at line 538 of file FString.h.

◆ operator+ [8/10]

FORCEINLINE friend FString operator+ ( FString &&  Lhs,
const FString Rhs 
)
friend

Concatenate two FStrings.

Parameters
LhsThe FString on the left-hand-side of the expression.
RhsThe FString on the right-hand-side of the expression.
Returns
The concatenated string.

Definition at line 635 of file FString.h.

◆ operator+ [9/10]

FORCEINLINE friend FString operator+ ( FString &&  Lhs,
const TCHAR Rhs 
)
friend

Concatenates an FString to a TCHAR array.

Parameters
LhsThe FString on the left-hand-side of the expression.
RhsThe TCHAR array on the right-hand-side of the expression.
Returns
The concatenated string.

Definition at line 713 of file FString.h.

◆ operator+ [10/10]

FORCEINLINE friend FString operator+ ( FString &&  Lhs,
FString &&  Rhs 
)
friend

Concatenate two FStrings.

Parameters
LhsThe FString on the left-hand-side of the expression.
RhsThe FString on the right-hand-side of the expression.
Returns
The concatenated string.

Definition at line 661 of file FString.h.

◆ operator/ [1/5]

FORCEINLINE friend FString operator/ ( const FString Lhs,
const FString Rhs 
)
friend

Concatenate this path with given path ensuring the / character is used between them

Parameters
LhsPath to concatenate onto.
RhsPath to concatenate.
Returns
new FString of the path

Definition at line 781 of file FString.h.

◆ operator/ [2/5]

FORCEINLINE friend FString operator/ ( const FString Lhs,
const TCHAR Rhs 
)
friend

Concatenate this path with given path ensuring the / character is used between them

Parameters
LhsPath to concatenate onto.
RhsPath to concatenate.
Returns
new FString of the path

Definition at line 749 of file FString.h.

◆ operator/ [3/5]

FORCEINLINE friend FString operator/ ( const TCHAR Lhs,
const FString Rhs 
)
friend

Concatenate this path with given path ensuring the / character is used between them

Parameters
LhsPath to concatenate onto.
RhsPath to concatenate.
Returns
new FString of the path

Definition at line 813 of file FString.h.

◆ operator/ [4/5]

FORCEINLINE friend FString operator/ ( FString &&  Lhs,
const FString Rhs 
)
friend

Concatenate this path with given path ensuring the / character is used between them

Parameters
LhsPath to concatenate onto.
RhsPath to concatenate.
Returns
new FString of the path

Definition at line 797 of file FString.h.

◆ operator/ [5/5]

FORCEINLINE friend FString operator/ ( FString &&  Lhs,
const TCHAR Rhs 
)
friend

Concatenate this path with given path ensuring the / character is used between them

Parameters
LhsPath to concatenate onto.
RhsPath to concatenate.
Returns
new FString of the path

Definition at line 765 of file FString.h.

◆ operator< [1/3]

template<typename CharType >
FORCEINLINE friend bool operator< ( const CharType *  Lhs,
const FString Rhs 
)
friend

Lexicographically test whether the left string is < the right string

Parameters
LhsString to compare against.
RhsString to compare against.
Returns
true if the left string is lexicographically < the right string, otherwise false
Note
case insensitive

Definition at line 899 of file FString.h.

◆ operator< [2/3]

template<typename CharType >
FORCEINLINE friend bool operator< ( const FString Lhs,
const CharType *  Rhs 
)
friend

Lexicographically test whether the left string is < the right string

Parameters
LhsString to compare against.
RhsString to compare against.
Returns
true if the left string is lexicographically < the right string, otherwise false
Note
case insensitive

Definition at line 885 of file FString.h.

◆ operator< [3/3]

FORCEINLINE friend bool operator< ( const FString Lhs,
const FString Rhs 
)
friend

Lexicographically test whether the left string is < the right string

Parameters
LhsString to compare against.
RhsString to compare against.
Returns
true if the left string is lexicographically < the right string, otherwise false
Note
case insensitive

Definition at line 871 of file FString.h.

◆ operator<= [1/3]

template<typename CharType >
FORCEINLINE friend bool operator<= ( const CharType *  Lhs,
const FString Rhs 
)
friend

Lexicographically test whether the left string is <= the right string

Parameters
LhsString to compare against.
RhsString to compare against.
Returns
true if the left string is lexicographically <= the right string, otherwise false
Note
case insensitive

Definition at line 858 of file FString.h.

◆ operator<= [2/3]

template<typename CharType >
FORCEINLINE friend bool operator<= ( const FString Lhs,
const CharType *  Rhs 
)
friend

Lexicographically test whether the left string is <= the right string

Parameters
LhsString to compare against.
RhsString to compare against.
Returns
true if the left string is lexicographically <= the right string, otherwise false
Note
case insensitive

Definition at line 844 of file FString.h.

◆ operator<= [3/3]

FORCEINLINE friend bool operator<= ( const FString Lhs,
const FString Rhs 
)
friend

Lexicographically test whether the left string is <= the right string

Parameters
LhsString to compare against.
RhsString to compare against.
Returns
true if the left string is lexicographically <= the right string, otherwise false
Note
case insensitive

Definition at line 830 of file FString.h.

◆ operator== [1/3]

template<typename CharType >
FORCEINLINE friend bool operator== ( const CharType *  Lhs,
const FString Rhs 
)
friend

Lexicographically test whether the left string is == the right string

Parameters
LhsString to compare against.
RhsString to compare against.
Returns
true if the left string is lexicographically == the right string, otherwise false
Note
case insensitive

Definition at line 1022 of file FString.h.

◆ operator== [2/3]

template<typename CharType >
FORCEINLINE friend bool operator== ( const FString Lhs,
const CharType *  Rhs 
)
friend

Lexicographically test whether the left string is == the right string

Parameters
LhsString to compare against.
RhsString to compare against.
Returns
true if the left string is lexicographically == the right string, otherwise false
Note
case insensitive

Definition at line 1008 of file FString.h.

◆ operator== [3/3]

FORCEINLINE friend bool operator== ( const FString Lhs,
const FString Rhs 
)
friend

Lexicographically test whether the left string is == the right string

Parameters
LhsString to compare against.
RhsString to compare against.
Returns
true if the left string is lexicographically == the right string, otherwise false
Note
case insensitive

Definition at line 994 of file FString.h.

◆ operator> [1/3]

template<typename CharType >
FORCEINLINE friend bool operator> ( const CharType *  Lhs,
const FString Rhs 
)
friend

Lexicographically test whether the left string is > the right string

Parameters
LhsString to compare against.
RhsString to compare against.
Returns
true if the left string is lexicographically > the right string, otherwise false
Note
case insensitive

Definition at line 981 of file FString.h.

◆ operator> [2/3]

template<typename CharType >
FORCEINLINE friend bool operator> ( const FString Lhs,
const CharType *  Rhs 
)
friend

Lexicographically test whether the left string is > the right string

Parameters
LhsString to compare against.
RhsString to compare against.
Returns
true if the left string is lexicographically > the right string, otherwise false
Note
case insensitive

Definition at line 967 of file FString.h.

◆ operator> [3/3]

FORCEINLINE friend bool operator> ( const FString Lhs,
const FString Rhs 
)
friend

Lexicographically test whether the left string is > the right string

Parameters
LhsString to compare against.
RhsString to compare against.
Returns
true if the left string is lexicographically > the right string, otherwise false
Note
case insensitive

Definition at line 953 of file FString.h.

◆ operator>= [1/3]

template<typename CharType >
FORCEINLINE friend bool operator>= ( const CharType *  Lhs,
const FString Rhs 
)
friend

Lexicographically test whether the left string is >= the right string

Parameters
LhsString to compare against.
RhsString to compare against.
Returns
true if the left string is lexicographically >= the right string, otherwise false
Note
case insensitive

Definition at line 940 of file FString.h.

◆ operator>= [2/3]

template<typename CharType >
FORCEINLINE friend bool operator>= ( const FString Lhs,
const CharType *  Rhs 
)
friend

Lexicographically test whether the left string is >= the right string

Parameters
LhsString to compare against.
RhsString to compare against.
Returns
true if the left string is lexicographically >= the right string, otherwise false
Note
case insensitive

Definition at line 926 of file FString.h.

◆ operator>= [3/3]

FORCEINLINE friend bool operator>= ( const FString Lhs,
const FString Rhs 
)
friend

Lexicographically test whether the left string is >= the right string

Parameters
LhsString to compare against.
RhsString to compare against.
Returns
true if the left string is lexicographically >= the right string, otherwise false
Note
case insensitive

Definition at line 912 of file FString.h.

◆ TContainerTraits< FString >

friend struct TContainerTraits< FString >
friend

Definition at line 3011 of file FString.h.

Member Data Documentation

◆ Data


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