15#define UE_INCLUDETOOL_IGNORE_INCONSISTENT_STATE
17#ifndef UE_STRING_CLASS
18 #error "UnrealString.h.inl should only be included after defining UE_STRING_CLASS"
20#ifndef UE_STRING_CHARTYPE
21 #error "UnrealString.h.inl should only be included after defining UE_STRING_CHARTYPE"
23#ifndef UE_STRING_CHARTYPE_IS_TCHAR
24 #error "UnrealString.h.inl should only be included after defining UE_STRING_CHARTYPE_IS_TCHAR"
26#ifndef UE_STRING_PRINTF_FMT_CHARTYPE
27 #error "UnrealString.h.inl should only be included after defining UE_STRING_PRINTF_FMT_CHARTYPE"
29#ifndef UE_STRING_DEPRECATED
30 #error "UnrealString.h.inl should only be included after defining UE_STRING_DEPRECATED"
34template<
typename InKeyType,
typename InValueType,
typename SetAllocator ,
typename KeyFuncs >
class TMap;
61#ifdef UE_STRING_PRINTF_FMT_CHARTYPE2
89 : Data(
Other.Data, ExtraSlack + ((
Other.Data.
Num() || !ExtraSlack) ? 0 : 1))
150 !std::is_array_v<std::remove_reference_t<CharRangeType>> &&
166 !std::is_array_v<std::remove_reference_t<CharRangeType>>&&
180#if PLATFORM_APPLE && UE_STRING_CHARTYPE_IS_TCHAR
185 if (StringLength > 0)
189#if PLATFORM_TCHAR_IS_4_BYTES
201 Data.AddUninitialized(
Length + 1);
227#if defined(__OBJC__) && UE_STRING_CHARTYPE_IS_TCHAR
241 !std::is_array_v<std::remove_reference_t<CharRangeType>> &&
242 std::is_same_v<ElementType, CharRangeElementType>
252 CORE_API void AssignRange(
const ElementType* Str,
int32 Len);
264 return Data.GetData()[
Index];
276 return Data.GetData()[
Index];
288 return Data.CreateIterator();
294 return Data.CreateConstIterator();
312 return Data.GetAllocatedSize();
341 return Data.Num() <= 1;
416 template<
class CharType>
430 template<
class CharType>
454 template <
typename StrType>
515 !std::is_array_v<std::remove_reference_t<CharRangeType>>&&
522 static_assert(std::is_same_v<CharRangeElementType, ElementType>,
"Expected a range of ElementType");
571 !std::is_array_v<std::remove_reference_t<CharRangeType>>&&
578 static_assert(std::is_same_v<CharRangeElementType, ElementType>,
"Expected a range of ElementType");
697 !std::is_array_v<std::remove_reference_t<CharRangeType>> &&
698 std::is_same_v<ElementType, CharRangeElementType> &&
711 !std::is_array_v<std::remove_reference_t<CharRangeType>>&&
712 std::is_same_v<ElementType, CharRangeElementType> &&
725 !std::is_array_v<std::remove_reference_t<CharRangeType>>&&
726 std::is_same_v<ElementType, CharRangeElementType> &&
739 !std::is_array_v<std::remove_reference_t<CharRangeType>>&&
740 std::is_same_v<ElementType, CharRangeElementType> &&
774 !std::is_array_v<std::remove_reference_t<CharRangeType>>&&
775 std::is_same_v<ElementType, CharRangeElementType>
895 return FPlatformString::Stricmp(**
this, *Rhs) < 0;
906 template <
typename CharType>
909 return FPlatformString::Stricmp(**
this, Rhs) < 0;
920 template <
typename CharType>
923 return FPlatformString::Stricmp(**
this, Rhs) > 0;
947 template <
typename CharType>
950 return FPlatformString::Stricmp(**
this, Rhs) == 0;
956 return Data.Num() ? Data.Num() - 1 : 0;
1111 !std::is_array_v<std::remove_reference_t<CharRangeType>>&&
1119 static_assert(std::is_same_v<CharRangeElementType, ElementType>,
"Expected a range of ElementType");
1204 !std::is_array_v<std::remove_reference_t<CharRangeType>>&&
1212 static_assert(std::is_same_v<CharRangeElementType, ElementType>,
"Expected a range of characters");
1268 return Data.Find(
InChar, OutIndex);
1280 return Data.FindLast(
InChar, OutIndex);
1291 template <
typename Predicate>
1295 return Data.FindLastByPredicate(
Pred,
Count);
1305 template <
typename Predicate>
1308 return Data.FindLastByPredicate(
Pred, this->
Len());
1412 CORE_API void RemoveSpacesInline();
1425 return PrintfImpl((
const ElementType*)
Fmt.FormatString, Args...);
1427#ifdef UE_STRING_PRINTF_FMT_CHARTYPE2
1428 template <
typename... Types>
1431 return PrintfImpl((
const ElementType*)
Fmt.FormatString, Args...);
1439 template <
typename... Types>
1442 AppendfImpl(*
this, (
const ElementType*)
Fmt.FormatString, Args...);
1445#ifdef UE_STRING_PRINTF_FMT_CHARTYPE2
1446 template <
typename... Types>
1449 AppendfImpl(*
this, (
const ElementType*)
Fmt.FormatString, Args...);
1469#ifdef UE_STRING_PRINTF_FMT_CHARTYPE2
1486#ifdef UE_STRING_PRINTF_FMT_CHARTYPE2
1534 !std::is_array_v<std::remove_reference_t<CharRangeType>>&&
1541 static_assert(std::is_same_v<CharRangeElementType, ElementType>,
"Expected a range of characters");
1590 !std::is_array_v<std::remove_reference_t<CharRangeType>>&&
1597 static_assert(std::is_same_v<CharRangeElementType, ElementType>,
"Expected a range of characters");
1647 !std::is_array_v<std::remove_reference_t<CharRangeType>>&&
1654 static_assert(std::is_same_v<CharRangeElementType, ElementType>,
"Expected a range of characters");
1698 CORE_API void TrimStartAndEndInline();
1749 CORE_API void TrimToNullTerminator();
1899 ReplaceCharInlineIgnoreCase(From, To);
1903 ReplaceCharInlineCaseSensitive(From, To);
1908 CORE_API void ReplaceCharInlineCaseSensitive(ElementType From, ElementType To);
1909 CORE_API void ReplaceCharInlineIgnoreCase(ElementType From, ElementType To);
1919 return MoveTemp(Result).ReplaceQuotesWithEscapedQuotes();
2117 template <
typename RangeType>
2122 for (
const auto& Element : Range)
2148 template <
typename RangeType,
typename ProjectionType>
2153 for (
const auto& Element : Range)
2172 Data.CountBytes(Ar);
2184 const AutoRTFM::EContextStatus Status = AutoRTFM::Close([&] {
Closed =
Open; });
2185 ensure(AutoRTFM::EContextStatus::OnTrack == Status);
2202 return String.GetCharArray().GetData();
2207 return String.GetCharArray().GetData();
2262template <UE::CArithmetic T>
2303template <
typename StringType = FString>
2309template <
typename StringType = FString>
2351#undef UE_INCLUDETOOL_IGNORE_INCONSISTENT_STATE
#define NULL
Definition oodle2base.h:134
EAllowShrinking
Definition AllowShrinking.h:10
#define UE_ALLOWSHRINKING_BOOL_DEPRECATED(FunctionName)
Definition AllowShrinking.h:31
#define UE_STRING_CLASS
Definition AnsiString.cpp:6
#define UE_STRING_CHARTYPE
Definition AnsiString.cpp:7
#define UE_STRING_DEPRECATED(Version, Message)
Definition AnsiString.h:12
#define UE_STRING_PRINTF_FMT_CHARTYPE
Definition AnsiString.h:11
#define checkSlow(expr)
Definition AssertionMacros.h:332
#define check(expr)
Definition AssertionMacros.h:314
#define ensure( InExpression)
Definition AssertionMacros.h:464
#define checkf(expr, format,...)
Definition AssertionMacros.h:315
@ INDEX_NONE
Definition CoreMiscDefines.h:150
EConstEval
Definition CoreMiscDefines.h:161
@ ConstEval
Definition CoreMiscDefines.h:161
AUTORTFM_INFER UE_FORCEINLINE_HINT constexpr auto Invoke(FuncType &&Func, ArgTypes &&... Args) -> decltype(((FuncType &&) Func)((ArgTypes &&) Args...))
Definition Invoke.h:44
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
typename TElementType< T >::Type TElementType_T
Definition ElementType.h:57
FArchive & operator<<(FArchive &Ar, FEnvQueryDebugProfileData::FStep &Data)
Definition EnvQueryTypes.cpp:489
return true
Definition ExternalRpcRegistry.cpp:601
#define MAX_int32
Definition NumericLimits.h:25
#define Split(a, ahi, alo)
Definition Predicates.inl:204
#define PREPROCESSOR_TO_STRING(Token)
Definition PreprocessorHelpers.h:103
#define PREPROCESSOR_JOIN(TokenA, TokenB)
Definition PreprocessorHelpers.h:104
#define UE_REQUIRES(...)
Definition Requires.h:86
auto AppendChars(TStringBuilderBase< CharType > &Builder)
Definition StringBuilder.h:693
auto GetNum(const TStringConversion< Converter, DefaultConversionSize > &Conversion) -> decltype(Conversion.Length())
Definition StringConv.h:808
auto GetData(const TStringConversion< Converter, DefaultConversionSize > &Conversion) -> decltype(Conversion.Get())
Definition StringConv.h:802
bool LexTryParseString(T &OutValue, const UE_STRING_CHARTYPE *Buffer)
Definition UnrealString.h.inl:2263
int32 GetNum(const UE_STRING_CLASS &String)
Definition UnrealString.h.inl:2210
CORE_API void BytesToHex(const uint8 *Bytes, int32 NumBytes, UE_STRING_CLASS &Out)
CORE_API int32 HexToBytes(const UE_STRING_CLASS &HexString, uint8 *OutBytes)
Definition String.cpp.inl:1955
CORE_API UE_STRING_CLASS SlugStringForValidName(const UE_STRING_CLASS &DisplayString, const TCHAR *ReplaceWith=TEXT(""))
CORE_API int32 FindMatchingClosingParenthesis(const UE_STRING_CLASS &TargetString, const int32 StartSearch=0)
Definition String.cpp.inl:1960
void LexFromString(int8 &OutValue, const UE_STRING_CHARTYPE *Buffer)
Definition UnrealString.h.inl:2247
TMap< UE_STRING_CLASS, FStringFormatArg > FormatNamedArguments
Definition UnrealString.h.inl:36
UE_STRING_CHARTYPE * GetData(UE_STRING_CLASS &)
Definition UnrealString.h.inl:2200
CORE_API void BytesToHexLower(const uint8 *Bytes, int32 NumBytes, UE_STRING_CLASS &Out)
UE_FORCEINLINE_HINT StringType LexToString(UE_STRING_CLASS &&Str)
Definition UnrealString.h.inl:2304
UE_FORCEINLINE_HINT const UE_STRING_CLASS::ElementType * ToCStr(const UE_STRING_CLASS &Str)
Definition UnrealString.h.inl:2326
UE_INTRINSIC_CAST UE_REWRITE constexpr std::remove_reference_t< T > && MoveTemp(T &&Obj) noexcept
Definition UnrealTemplate.h:520
#define UE_STRING_PRINTF_FMT_CHARTYPE2
Definition Utf8String.h:14
uint32 Size
Definition VulkanMemory.cpp:4034
Definition Core.Build.cs:8
Definition Archive.h:1208
UE_NODEBUG UE_FORCEINLINE_HINT ElementType * GetData() UE_LIFETIMEBOUND
Definition Array.h:1027
Definition UnrealString.h.inl:34
Definition ContainerAllocationPolicies.h:830
Definition UnrealString.h.inl:55
UE_FORCEINLINE_HINT friend UE_STRING_CLASS operator+(UE_STRING_CLASS &&Lhs, UE_STRING_CLASS &&Rhs)
Definition UnrealString.h.inl:686
UE_STRING_CLASS ReplaceCharWithEscapedChar(const TArray< ElementType > *Chars=nullptr) &&
Definition UnrealString.h.inl:1958
CORE_API void PathAppend(const ElementType *Str, int32 StrLength)
Definition String.cpp.inl:824
UE_STRING_CLASS & operator/=(const ElementType *Str)
Definition UnrealString.h.inl:755
const ElementType & operator[](int32 Index) const UE_LIFETIMEBOUND
Definition UnrealString.h.inl:273
DataType::TIterator TIterator
Definition UnrealString.h.inl:282
UE_FORCEINLINE_HINT friend UE_STRING_CLASS operator+(CharRangeType &&Lhs, const UE_STRING_CLASS &Rhs)
Definition UnrealString.h.inl:702
UE_FORCEINLINE_HINT friend UE_STRING_CLASS operator+(const UE_STRING_CLASS &Lhs, const ElementType *Rhs)
Definition UnrealString.h.inl:689
UE_FORCEINLINE_HINT UE_STRING_CLASS Mid(int32 Start) &&
Definition UnrealString.h.inl:1072
bool EndsWith(const ElementType *InSuffix, ESearchCase::Type SearchCase=ESearchCase::IgnoreCase) const
Definition UnrealString.h.inl:1608
UE_FORCEINLINE_HINT DataType & GetCharArray() UE_LIFETIMEBOUND
Definition UnrealString.h.inl:384
bool EndsWith(CharRangeType &&InSuffix, ESearchCase::Type SearchCase=ESearchCase::IgnoreCase) const
Definition UnrealString.h.inl:1595
UE_FORCEINLINE_HINT bool UEOpGreaterThan(const CharType *Rhs) const
Definition UnrealString.h.inl:921
UE_FORCEINLINE_HINT friend UE_STRING_CLASS operator+(const ElementType *Lhs, UE_STRING_CLASS &&Rhs)
Definition UnrealString.h.inl:688
friend UE_STRING_CLASS operator/(UE_STRING_CLASS &&Lhs, const UE_STRING_CLASS &Rhs)
Definition UnrealString.h.inl:860
UE_STRING_CLASS & Append(const CharType *Str, int32 Count)
Definition UnrealString.h.inl:417
UE_STRING_CLASS(CharRangeType &&Str, int32 ExtraSlack)
Definition UnrealString.h.inl:171
UE_STRING_CLASS ConvertTabsToSpaces(const int32 InSpacesPerTab) &&
Definition UnrealString.h.inl:2016
void LeftChopInline(int32 Count, EAllowShrinking AllowShrinking=EAllowShrinking::Default)
Definition UnrealString.h.inl:1010
UE_STRING_CLASS Right(int32 Count) const &
Definition UnrealString.h.inl:1022
UE_STRING_DEPRECATED(5.4, "This constructor has been deprecated - please use " PREPROCESSOR_TO_STRING(UE_STRING_CLASS) "::ConstructWithSlack(Ptr, Size) instead.") CORE_API UE_STRING_CLASS(const UCS2CHAR *Str
int32 FindLastCharByPredicate(Predicate Pred, int32 Count) const
Definition UnrealString.h.inl:1292
friend UE_STRING_CLASS operator+(const UE_STRING_CLASS &Lhs, CharType Rhs)
Definition UnrealString.h.inl:636
bool Equals(const UE_STRING_CLASS &Other, ESearchCase::Type SearchCase=ESearchCase::CaseSensitive) const
Definition UnrealString.h.inl:1318
CORE_API void ReplaceCharWithEscapedCharInline(const TArray< ElementType > *Chars=nullptr)
Definition String.cpp.inl:1639
UE_STRING_CLASS Right(int32 Count) &&
Definition UnrealString.h.inl:1028
UE_FORCEINLINE_HINT void RightChopInline(int32 Count, EAllowShrinking AllowShrinking=EAllowShrinking::Default)
Definition UnrealString.h.inl:1056
bool RemoveFromStart(const ElementType *InPrefix, ESearchCase::Type SearchCase=ESearchCase::IgnoreCase)
Definition UnrealString.h.inl:533
friend UE_STRING_CLASS operator/(const UE_STRING_CLASS &Lhs, const UE_STRING_CLASS &Rhs)
Definition UnrealString.h.inl:844
UE_STRING_CLASS & operator=(const UE_STRING_CLASS &)=default
UE_STRING_CLASS & Append(CharRangeType &&Str)
Definition UnrealString.h.inl:444
bool MatchesWildcard(const UE_STRING_CLASS &Wildcard, ESearchCase::Type SearchCase=ESearchCase::IgnoreCase) const
Definition UnrealString.h.inl:1679
UE_STRING_CLASS & Append(CharType *Str)
Definition UnrealString.h.inl:431
friend UE_STRING_CLASS operator/(UE_STRING_CLASS &&Lhs, const ElementType *Rhs)
Definition UnrealString.h.inl:826
UE_STRING_CLASS ReplaceCharWithEscapedChar(const TArray< ElementType > *Chars=nullptr) const &
Definition UnrealString.h.inl:1943
bool MatchesWildcard(CharRangeType &&Wildcard, ESearchCase::Type SearchCase=ESearchCase::IgnoreCase) const
Definition UnrealString.h.inl:1652
friend UE_STRING_CLASS operator+(UE_STRING_CLASS &&Lhs, CharType Rhs)
Definition UnrealString.h.inl:658
static UE_STRING_CLASS FromInt(int32 Num)
Definition UnrealString.h.inl:2039
bool MatchesWildcard(const ElementType *Wildcard, ESearchCase::Type SearchCase=ESearchCase::IgnoreCase) const
Definition UnrealString.h.inl:1666
UE_FORCEINLINE_HINT bool UEOpEquals(const CharType *Rhs) const
Definition UnrealString.h.inl:948
UE_FORCEINLINE_HINT DataType::RangedForReverseIteratorType rend()
Definition UnrealString.h.inl:307
bool RemoveFromStart(const UE_STRING_CLASS &InPrefix, ESearchCase::Type SearchCase=ESearchCase::IgnoreCase)
Definition UnrealString.h.inl:545
UE_STRING_CLASS & operator=(CharRangeType &&Range)
Definition UnrealString.h.inl:245
UE_STRING_CLASS RightChop(int32 Count) &&
Definition UnrealString.h.inl:1049
static void AutoRTFMAssignFromOpenToClosed(UE_STRING_CLASS &Closed, const UE_STRING_CLASS &Open)
Definition UnrealString.h.inl:2182
UE_STRING_PRINTF_FMT_CHARTYPE FmtCharType
Definition UnrealString.h.inl:59
bool Contains(CharRangeType &&SubStr, ESearchCase::Type SearchCase=ESearchCase::IgnoreCase, ESearchDir::Type SearchDir=ESearchDir::FromStart) const
Definition UnrealString.h.inl:1209
static UE_STRING_CLASS Format(const FmtCharType *InFormatString, const FStringFormatOrderedArguments &InOrderedArguments)
Definition UnrealString.h.inl:1482
static UE_STRING_CLASS JoinBy(const RangeType &Range, const ElementType *Separator, ProjectionType Proj)
Definition UnrealString.h.inl:2149
UE_STRING_CLASS ConvertTabsToSpaces(const int32 InSpacesPerTab) const &
Definition UnrealString.h.inl:2004
bool RemoveFromEnd(const ElementType *InSuffix, ESearchCase::Type SearchCase=ESearchCase::IgnoreCase)
Definition UnrealString.h.inl:589
UE_STRING_CLASS & operator+=(AppendedCharType Char)
Definition UnrealString.h.inl:465
UE_FORCEINLINE_HINT UE_STRING_CLASS(const UE_STRING_CLASS &Other, int32 ExtraSlack)
Definition UnrealString.h.inl:88
UE_FORCEINLINE_HINT const ElementType * operator*() const UE_LIFETIMEBOUND
Definition UnrealString.h.inl:373
UE_FORCEINLINE_HINT bool IsValidIndex(int32 Index) const
Definition UnrealString.h.inl:363
UE_FORCEINLINE_HINT DataType::RangedForConstIteratorType end() const
Definition UnrealString.h.inl:304
static constexpr bool bHasIntrusiveUnsetOptionalState
Definition UnrealString.h.inl:212
void CheckInvariants() const
Definition UnrealString.h.inl:318
bool UEOpEquals(FIntrusiveUnsetOptionalState Tag) const
Definition UnrealString.h.inl:219
CORE_API void ReplaceEscapedCharWithCharInline(const TArray< ElementType > *Chars=nullptr)
Definition String.cpp.inl:1656
UE_FORCEINLINE_HINT bool UEOpEquals(const UE_STRING_CLASS &Rhs) const
Definition UnrealString.h.inl:934
static CORE_API UE_STRING_CLASS ChrN(int32 NumCharacters, ElementType Char)
Definition String.cpp.inl:1274
CORE_API void AppendInt(int32 InNum)
Definition String.cpp.inl:1108
bool RemoveFromStart(CharRangeType &&InPrefix, ESearchCase::Type SearchCase=ESearchCase::IgnoreCase)
Definition UnrealString.h.inl:520
void MidInline(int32 Start, int32 Count=MAX_int32, EAllowShrinking AllowShrinking=EAllowShrinking::Default)
Definition UnrealString.h.inl:1075
int32 Find(const UE_STRING_CLASS &SubStr, ESearchCase::Type SearchCase=ESearchCase::IgnoreCase, ESearchDir::Type SearchDir=ESearchDir::FromStart, int32 StartPosition=INDEX_NONE) const
Definition UnrealString.h.inl:1163
CORE_API UE_STRING_CLASS & AppendChar(ElementType InChar)
Definition String.cpp.inl:368
UE_STRING_CLASS ReplaceEscapedCharWithChar(const TArray< ElementType > *Chars=nullptr) const &
Definition UnrealString.h.inl:1975
UE_FORCEINLINE_HINT friend UE_STRING_CLASS operator+(UE_STRING_CLASS &&Lhs, CharRangeType &&Rhs)
Definition UnrealString.h.inl:744
UE_STRING_CLASS LeftChop(int32 Count) &&
Definition UnrealString.h.inl:1003
void LeftInline(int32 Count, EAllowShrinking AllowShrinking=EAllowShrinking::Default)
Definition UnrealString.h.inl:984
UE_FORCEINLINE_HINT bool Contains(const ElementType *SubStr, ESearchCase::Type SearchCase=ESearchCase::IgnoreCase, ESearchDir::Type SearchDir=ESearchDir::FromStart) const
Definition UnrealString.h.inl:1224
UE_STRING_CLASS & Appendf(UE::Core::TCheckedFormatString< FmtCharType, Types... > Fmt, Types... Args)
Definition UnrealString.h.inl:1440
int32 Find(const ElementType *SubStr, ESearchCase::Type SearchCase=ESearchCase::IgnoreCase, ESearchDir::Type SearchDir=ESearchDir::FromStart, int32 StartPosition=INDEX_NONE) const
Definition UnrealString.h.inl:1140
UE_FORCEINLINE_HINT DataType::RangedForConstReverseIteratorType rend() const
Definition UnrealString.h.inl:308
CORE_API void ConvertTabsToSpacesInline(const int32 InSpacesPerTab)
Definition String.cpp.inl:1680
static CORE_API UE_STRING_CLASS Chr(ElementType Ch)
Definition String.cpp.inl:1267
UE_FORCEINLINE_HINT bool Contains(const ElementType *SubStr, int32 SubStrLen, ESearchCase::Type SearchCase=ESearchCase::IgnoreCase, ESearchDir::Type SearchDir=ESearchDir::FromStart) const
Definition UnrealString.h.inl:1253
int32 Compare(const UE_STRING_CLASS &Other, ESearchCase::Type SearchCase=ESearchCase::CaseSensitive) const
Definition UnrealString.h.inl:1350
UE_FORCEINLINE_HINT void CountBytes(FArchive &Ar) const
Definition UnrealString.h.inl:2170
UE_FORCEINLINE_HINT TIterator CreateIterator()
Definition UnrealString.h.inl:286
friend UE_STRING_CLASS operator/(const UE_STRING_CLASS &Lhs, const ElementType *Rhs)
Definition UnrealString.h.inl:808
friend UE_STRING_CLASS operator/(const ElementType *Lhs, const UE_STRING_CLASS &Rhs)
Definition UnrealString.h.inl:876
bool StartsWith(const ElementType *InPrefix, ESearchCase::Type SearchCase=ESearchCase::IgnoreCase) const
Definition UnrealString.h.inl:1552
UE_STRING_CLASS ReplaceEscapedCharWithChar(const TArray< ElementType > *Chars=nullptr) &&
Definition UnrealString.h.inl:1987
UE_FORCEINLINE_HINT bool Contains(const UE_STRING_CLASS &SubStr, ESearchCase::Type SearchCase=ESearchCase::IgnoreCase, ESearchDir::Type SearchDir=ESearchDir::FromStart) const
Definition UnrealString.h.inl:1238
UE_STRING_CLASS & operator=(UE_STRING_CLASS &&)=default
UE_FORCEINLINE_HINT UE_STRING_CLASS(UE_STRING_CLASS &&Other, int32 ExtraSlack)
Definition UnrealString.h.inl:99
DataType::TConstIterator TConstIterator
Definition UnrealString.h.inl:283
UE_FORCEINLINE_HINT auto operator+=(StrType &&Str) -> decltype(Append(Forward< StrType >(Str)))
Definition UnrealString.h.inl:455
static CORE_API UE_STRING_CLASS ConstructWithSlack(const ANSICHAR *Str, int32 ExtraSlack)
Definition String.cpp.inl:251
const ANSICHAR * Str
Definition UnrealString.h.inl:112
UE_STRING_CLASS()=default
static UE_STRING_CLASS Format(const FmtCharType *InFormatString, const PREPROCESSOR_JOIN(UE_STRING_CLASS, FormatNamedArguments)&InNamedArguments)
Definition UnrealString.h.inl:1465
static CORE_API UE_STRING_CLASS ConstructFromPtrSize(const ANSICHAR *Str, int32 Size)
Definition String.cpp.inl:246
UE_STRING_CLASS(const UE_STRING_CLASS &)=default
UE_FORCEINLINE_HINT bool UEOpLessThan(const UE_STRING_CLASS &Rhs) const
Definition UnrealString.h.inl:893
UE_FORCEINLINE_HINT friend UE_STRING_CLASS operator+(const UE_STRING_CLASS &Lhs, UE_STRING_CLASS &&Rhs)
Definition UnrealString.h.inl:685
UE_FORCEINLINE_HINT TConstIterator CreateConstIterator() const
Definition UnrealString.h.inl:292
UE_STRING_CLASS ReplaceQuotesWithEscapedQuotes() const &
Definition UnrealString.h.inl:1916
UE_FORCEINLINE_HINT friend UE_STRING_CLASS operator+(UE_STRING_CLASS &&Lhs, const ElementType *Rhs)
Definition UnrealString.h.inl:690
bool EndsWith(const UE_STRING_CLASS &InSuffix, ESearchCase::Type SearchCase=ESearchCase::IgnoreCase) const
Definition UnrealString.h.inl:1620
UE_FORCEINLINE_HINT DataType::RangedForConstIteratorType begin() const
Definition UnrealString.h.inl:302
bool RemoveFromEnd(const UE_STRING_CLASS &InSuffix, ESearchCase::Type SearchCase=ESearchCase::IgnoreCase)
Definition UnrealString.h.inl:601
UE_FORCEINLINE_HINT UE_STRING_CLASS Left(int32 Count) const &
Definition UnrealString.h.inl:972
UE_STRING_DEPRECATED(5.4, "This constructor has been deprecated - please use " PREPROCESSOR_TO_STRING(UE_STRING_CLASS) "::ConstructWithSlack(Ptr, Size) instead.") CORE_API UE_STRING_CLASS(const UTF8CHAR *Str
UE_STRING_CLASS(FIntrusiveUnsetOptionalState Tag)
Definition UnrealString.h.inl:215
UE_FORCEINLINE_HINT SIZE_T NumBytesWithoutNull() const
Definition UnrealString.h.inl:960
UE_STRING_CLASS(UE_STRING_CLASS &&)=default
CORE_API void RemoveAt(int32 Index, EAllowShrinking AllowShrinking=EAllowShrinking::Default)
Definition String.cpp.inl:667
UE_FORCEINLINE_HINT friend UE_STRING_CLASS operator+(const UE_STRING_CLASS &Lhs, CharRangeType &&Rhs)
Definition UnrealString.h.inl:730
bool StartsWith(CharRangeType &&InPrefix, ESearchCase::Type SearchCase=ESearchCase::IgnoreCase) const
Definition UnrealString.h.inl:1539
static UE_STRING_CLASS Join(const RangeType &Range, const ElementType *Separator)
Definition UnrealString.h.inl:2118
UE_FORCEINLINE_HINT DataType::RangedForConstReverseIteratorType rbegin() const
Definition UnrealString.h.inl:306
static CORE_API UE_STRING_CLASS ConstructFromPtrSizeWithSlack(const ANSICHAR *Str, int32 Size, int32 ExtraSlack)
Definition String.cpp.inl:256
UE_STRING_CLASS Left(int32 Count) &&
Definition UnrealString.h.inl:977
consteval UE_STRING_CLASS(EConstEval)
Definition UnrealString.h.inl:73
UE_STRING_DEPRECATED(5.4, "This constructor has been deprecated - please use " PREPROCESSOR_TO_STRING(UE_STRING_CLASS) "::ConstructWithSlack(Ptr, Size) instead.") CORE_API UE_STRING_CLASS(const WIDECHAR *Str
UE_FORCEINLINE_HINT friend UE_STRING_CLASS operator+(const ElementType *Lhs, const UE_STRING_CLASS &Rhs)
Definition UnrealString.h.inl:687
CORE_API void Reserve(int32 CharacterCount)
Definition String.cpp.inl:307
UE_STRING_CHARTYPE ElementType
Definition UnrealString.h.inl:58
CORE_API UE_STRING_CLASS RightChop(int32 Count) const &
Definition String.cpp.inl:856
UE_FORCEINLINE_HINT DataType::RangedForReverseIteratorType rbegin()
Definition UnrealString.h.inl:305
UE_FORCEINLINE_HINT friend UE_STRING_CLASS operator+(CharRangeType &&Lhs, UE_STRING_CLASS &&Rhs)
Definition UnrealString.h.inl:716
UE_STRING_CLASS LeftChop(int32 Count) const &
Definition UnrealString.h.inl:997
UE_FORCEINLINE_HINT bool UEOpLessThan(const CharType *Rhs) const
Definition UnrealString.h.inl:907
UE_FORCEINLINE_HINT DataType::RangedForIteratorType end()
Definition UnrealString.h.inl:303
UE_FORCEINLINE_HINT friend UE_STRING_CLASS operator+(UE_STRING_CLASS &&Lhs, const UE_STRING_CLASS &Rhs)
Definition UnrealString.h.inl:684
UE_STRING_CLASS & operator/=(CharRangeType &&Str)
Definition UnrealString.h.inl:778
UE_FORCEINLINE_HINT const DataType & GetCharArray() const UE_LIFETIMEBOUND
Definition UnrealString.h.inl:390
UE_FORCEINLINE_HINT UE_STRING_CLASS(CharRangeType &&Str)
Definition UnrealString.h.inl:155
void RightInline(int32 Count, EAllowShrinking AllowShrinking=EAllowShrinking::Default)
Definition UnrealString.h.inl:1035
UE_FORCEINLINE_HINT SIZE_T NumBytesWithNull() const
Definition UnrealString.h.inl:966
UE_STRING_CLASS & operator/=(const CharType *Str)
Definition UnrealString.h.inl:794
UE_FORCEINLINE_HINT UE_STRING_CLASS Mid(int32 Start) const &
Definition UnrealString.h.inl:1071
UE_FORCEINLINE_HINT SIZE_T GetAllocatedSize() const
Definition UnrealString.h.inl:310
bool StartsWith(const UE_STRING_CLASS &InPrefix, ESearchCase::Type SearchCase=ESearchCase::IgnoreCase) const
Definition UnrealString.h.inl:1564
UE_FORCEINLINE_HINT bool IsEmpty() const
Definition UnrealString.h.inl:339
UE_FORCEINLINE_HINT bool FindChar(ElementType InChar, int32 &OutIndex) const
Definition UnrealString.h.inl:1266
friend UE_FORCEINLINE_HINT uint32 GetTypeHash(const UE_STRING_CLASS &S)
Definition UnrealString.h.inl:2176
UE_FORCEINLINE_HINT int32 FindLastCharByPredicate(Predicate Pred) const
Definition UnrealString.h.inl:1306
bool RemoveFromEnd(CharRangeType &&InSuffix, ESearchCase::Type SearchCase=ESearchCase::IgnoreCase)
Definition UnrealString.h.inl:576
UE_FORCEINLINE_HINT int32 Len() const
Definition UnrealString.h.inl:954
UE_FORCEINLINE_HINT DataType::RangedForIteratorType begin()
Definition UnrealString.h.inl:301
ElementType & operator[](int32 Index) UE_LIFETIMEBOUND
Definition UnrealString.h.inl:261
UE_FORCEINLINE_HINT bool FindLastChar(ElementType InChar, int32 &OutIndex) const
Definition UnrealString.h.inl:1278
UE_FORCEINLINE_HINT friend UE_STRING_CLASS operator+(const UE_STRING_CLASS &Lhs, const UE_STRING_CLASS &Rhs)
Definition UnrealString.h.inl:683
int32 Find(CharRangeType &&SubStr, ESearchCase::Type SearchCase=ESearchCase::IgnoreCase, ESearchDir::Type SearchDir=ESearchDir::FromStart, int32 StartPosition=INDEX_NONE) const
Definition UnrealString.h.inl:1116
Type
Definition CString.h:21
@ IgnoreCase
Definition CString.h:26
@ CaseSensitive
Definition CString.h:23
Type
Definition CString.h:34
@ FromStart
Definition CString.h:36
Definition AdvancedWidgetsModule.cpp:13
U16 Index
Definition radfft.cpp:71
static uint32 Strihash_DEPRECATED(const CharType *Data)
Definition IntrusiveUnsetOptionalState.h:71
static constexpr UE_FORCEINLINE_HINT T Clamp(const T X, const T MinValue, const T MaxValue)
Definition UnrealMathUtility.h:592
static UE_FORCEINLINE_HINT int32 Strcmp(const CharType *String1, const CharType *String2)
Definition CString.h:1018
static UE_FORCEINLINE_HINT int32 Stricmp(const CharType *String1, const CharType *String2)
Definition CString.h:1030
static UE_FORCEINLINE_HINT float Atof(const CharType *String)
Definition CString.h:1185
static int32 Strlen(const CharType *String)
Definition CString.h:1047
static UE_FORCEINLINE_HINT double Atod(const CharType *String)
Definition CString.h:1191
static UE_FORCEINLINE_HINT int64 Atoi64(const CharType *String)
Definition CString.h:1179
static bool ToBool(const CharType *String)
Definition CString.h:515
static UE_FORCEINLINE_HINT uint64 Strtoui64(const CharType *Start, CharType **End, int32 Base)
Definition CString.h:1209
static bool IsWhitespace(CharType Char)
Definition Char.h:282
Definition IsContiguousContainer.h:16
Definition UnrealTypeTraits.h:172
static UE_FORCEINLINE_HINT TCHAR const * GetName()
Definition UnrealString.h.inl:2194
Definition UnrealTypeTraits.h:191