34 template <
typename CharType>
friend class ::TStringBuilderBase;
35 template <
typename CharType,
int32 BufferSize>
friend class ::TStringBuilderWithBuffer;
41 template <
typename CharType>
friend class ::TExternalStringBuilder;
77template <
typename CharType>
108 UE_DEPRECATED(5.7,
"Use TStringBuilder<N> or T[CharType]StringBuilder<N> or TExternalStringBuilder<CharType>.")
237 std::enable_if_t<TIsCharType<OtherCharType>::Value>* =
nullptr>
240 int32 ConvertedLength = FPlatformString::ConvertedLength<CharType>(
String,
Length);
249 template <
typename CharRangeType>
258 std::enable_if_t<TIsCharType<AppendedCharType>::Value>* =
nullptr
269 int32 ConvertedLength = FPlatformString::ConvertedLength<CharType>(&
Char, 1);
329 template <
typename AppendedCharType>
346 template <
typename RangeType,
typename DelimiterType>
349 Builder << *std::begin(Range);
350 Builder << Delimiter;
383 template <
typename RangeType,
typename DelimiterType,
typename QuoteType>
386 Builder << Quote << *std::begin(Range) << Quote;
387 Builder << Delimiter;
408 template <
typename SrcEncoding>
417 template <
typename FmtType,
typename... Types
456 UE_DEPRECATED(5.7,
"Use TStringBuilder<N> or T[CharType]StringBuilder<N> or TExternalStringBuilder<CharType>.")
494template <
typename CharType>
497 return Builder.
Len();
507template <
typename CharType,
int32 BufferSize>
529 CharType StringBuffer[BufferSize > 0 ? BufferSize : 1];
539template <
typename CharType>
555template <
typename CharType,
typename CharRangeType>
559 if constexpr (std::is_convertible_v<CharRangeType, FAnsiStringView>)
590template <
typename T UE_REQUIRES(std::is_same_v<
bool, T>)>
592template <
typename T UE_REQUIRES(std::is_same_v<
bool, T>)>
594template <
typename T UE_REQUIRES(std::is_same_v<
bool, T>)>
633template <
typename CharType,
int32 BufferSize>
645template <
typename CharType,
int32 BufferSize>
648 static constexpr inline bool Value =
true;
692template <
typename CharType>
OODEFFUNC typedef void(OODLE_CALLBACK t_fp_OodleCore_Plugin_Free)(void *ptr)
#define checkSlow(expr)
Definition AssertionMacros.h:332
#define check(expr)
Definition AssertionMacros.h:314
#define LIKELY(x)
Definition CityHash.cpp:107
return Self
Definition CocoaThread.cpp:337
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
EInPlace
Definition CoreMiscDefines.h:162
@ InPlace
Definition CoreMiscDefines.h:162
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
return true
Definition ExternalRpcRegistry.cpp:601
#define UE_REQUIRES(...)
Definition Requires.h:86
FStringBuilderBase & operator+=(FStringBuilderBase &Builder, ANSICHAR Char)
Definition StringBuilder.h:582
constexpr int32 GetNum(const TStringBuilderBase< CharType > &Builder)
Definition StringBuilder.h:495
constexpr bool TIsFormattedStringBuilderType_V< const T >
Definition StringBuilder.h:616
PRAGMA_ENABLE_DEPRECATION_WARNINGS TStringBuilderWithBuffer< TCHAR, BufferSize > WriteToString(ArgTypes &&... Args)
Definition StringBuilder.h:661
constexpr bool TIsFormattedStringBuilderType_V< int16 >
Definition StringBuilder.h:607
constexpr bool TIsFormattedStringBuilderType_V< unsigned long >
Definition StringBuilder.h:614
constexpr bool TIsFormattedStringBuilderType_V< uint8 >
Definition StringBuilder.h:602
constexpr bool TIsFormattedStringBuilderType_V< float >
Definition StringBuilder.h:610
constexpr bool TIsFormattedStringBuilderType_V< const volatile T >
Definition StringBuilder.h:618
constexpr bool TIsFormattedStringBuilderType_V< long >
Definition StringBuilder.h:613
constexpr bool TIsFormattedStringBuilderType_V< volatile T >
Definition StringBuilder.h:617
TStringBuilderWithBuffer< ANSICHAR, BufferSize > WriteToAnsiString(ArgTypes &&... Args)
Definition StringBuilder.h:668
constexpr bool TIsFormattedStringBuilderType_V< int8 >
Definition StringBuilder.h:606
constexpr bool TIsFormattedStringBuilderType_V< int32 >
Definition StringBuilder.h:608
constexpr bool TIsFormattedStringBuilderType_V< uint16 >
Definition StringBuilder.h:603
constexpr bool TIsFormattedStringBuilderType_V< uint64 >
Definition StringBuilder.h:605
constexpr bool TIsFormattedStringBuilderType_V< uint32 >
Definition StringBuilder.h:604
constexpr bool TIsFormattedStringBuilderType_V< long double >
Definition StringBuilder.h:612
TStringBuilderWithBuffer< UTF8CHAR, BufferSize > WriteToUtf8String(ArgTypes &&... Args)
Definition StringBuilder.h:682
TStringBuilderWithBuffer< WIDECHAR, BufferSize > WriteToWideString(ArgTypes &&... Args)
Definition StringBuilder.h:675
constexpr bool TIsFormattedStringBuilderType_V
Definition StringBuilder.h:601
constexpr bool TIsFormattedStringBuilderType_V< double >
Definition StringBuilder.h:611
constexpr bool TIsFormattedStringBuilderType_V< int64 >
Definition StringBuilder.h:609
auto AppendChars(TStringBuilderBase< CharType > &Builder)
Definition StringBuilder.h:693
auto operator<<(TStringBuilderBase< CharType > &Builder, CharRangeType &&Str) -> decltype(Builder.Append(MakeStringView(Forward< CharRangeType >(Str))))
Definition StringBuilder.h:556
constexpr auto MakeStringView(const CharPtrOrRangeType &CharPtrOrRange UE_LIFETIMEBOUND) -> decltype(TStringView(CharPtrOrRange))
Definition StringView.h:508
Definition Core.Build.cs:8
Definition StringBuilder.h:541
TExternalStringBuilder(CharType *Buffer, int32 BufferSize)
Definition StringBuilder.h:543
Definition StringBuilder.h:79
friend const CharType * end(const TStringBuilderBase &Builder)
Definition StringBuilder.h:438
TStringBuilderBase(CharType *InBase, int32 InCapacity, UE::Core::Private::FExternalStringBuilderToken)
Definition StringBuilder.h:448
bool bIsDynamic
Definition StringBuilder.h:490
TStringView< ElementType > ViewType
Definition StringBuilder.h:86
TStringBuilderBase & operator=(const CharType *Str)
Definition StringBuilder.h:103
BuilderType & Join(RangeType &&InRange, const DelimiterType &InDelimiter)
Definition StringBuilder.h:352
BuilderType & AppendChar(AppendedCharType Char)
Definition StringBuilder.h:260
auto Add(AppendedCharType Char) -> decltype(AppendChar(Char),(void) 0)
Definition StringBuilder.h:330
BuilderType & Appendf(const FmtType &Fmt, Types... Args)
Definition StringBuilder.h:419
CORE_API ~TStringBuilderBase()
Definition StringBuilder.cpp:23
void ReplaceAt(int32 Pos, int32 RemoveLen, ViewType Str)
Definition StringBuilder.h:277
TStringBuilderBase & operator=(const TStringBuilderBase &)=delete
bool bIsExternal
Definition StringBuilder.h:491
int32 AddUninitialized(int32 InCount)
Definition StringBuilder.h:202
void EnsureNulTerminated()
Definition StringBuilder.h:464
ViewType ToView() const UE_LIFETIMEBOUND
Definition StringBuilder.h:165
void * AllocBuffer(SIZE_T CharCount)
Definition StringBuilder.cpp:61
const CharType * operator*() UE_LIFETIMEBOUND
Definition StringBuilder.h:150
CharType LastChar() const
Definition StringBuilder.h:171
CharType * GetData() UE_LIFETIMEBOUND
Definition StringBuilder.h:120
friend const CharType * begin(const TStringBuilderBase &Builder)
Definition StringBuilder.h:436
const CharType * ToString() UE_LIFETIMEBOUND
Definition StringBuilder.h:135
friend CharType * end(TStringBuilderBase &Builder)
Definition StringBuilder.h:437
TStringBuilderBase(TStringBuilderBase &&)=delete
TStringBuilderBase()=default
void Prepend(ViewType Str)
Definition StringBuilder.h:323
TStringBuilderBase< ElementType > BuilderType
Definition StringBuilder.h:84
CORE_API void Extend(SIZE_T ExtraCapacity)
Definition StringBuilder.cpp:32
TStringBuilderBase & operator=(ViewType Str)
Definition StringBuilder.h:97
void RemoveAt(int32 Pos, int32 RemoveLen)
Definition StringBuilder.h:317
void Reserve(int32 InNewCapacity)
Definition StringBuilder.h:217
TStringBuilderBase(CharType *InBase, int32 InCapacity, UE::Core::Private::FDynamicStringBuilderToken)
Definition StringBuilder.h:441
BuilderType & Append(const OtherCharType *const String, const int32 Length)
Definition StringBuilder.h:238
void InsertAt(int32 Pos, ViewType Str)
Definition StringBuilder.h:311
void Reset()
Definition StringBuilder.h:190
friend CharType * begin(TStringBuilderBase &Builder)
Definition StringBuilder.h:435
CharType * End
Definition StringBuilder.h:489
TStringBuilderBase & operator=(TStringBuilderBase &&)=delete
BuilderType & JoinQuoted(RangeType &&InRange, const DelimiterType &InDelimiter, const QuoteType &InQuote)
Definition StringBuilder.h:389
SIZE_T GetAllocatedSize() const
Definition StringBuilder.h:182
void FreeBuffer(void *Buffer)
Definition StringBuilder.cpp:67
void EnsureAdditionalCapacity(int32 RequiredAdditionalCapacity)
Definition StringBuilder.h:470
void RemoveSuffix(int32 InCount)
Definition StringBuilder.h:230
auto Append(CharRangeType &&Range) -> decltype(Append(MakeStringView(Forward< CharRangeType >(Range)).GetData(), int32(0)))
Definition StringBuilder.h:250
CORE_API BuilderType & AppendV(const CharType *Fmt, va_list Args)
Definition StringBuilder.cpp:73
CharType * CurPos
Definition StringBuilder.h:488
int32 Len() const
Definition StringBuilder.h:114
TStringBuilderBase(const TStringBuilderBase &)=delete
const CharType * GetData() const UE_LIFETIMEBOUND
Definition StringBuilder.h:125
CharType * Base
Definition StringBuilder.h:487
CharType ElementType
Definition StringBuilder.h:82
Definition StringBuilder.h:509
TStringBuilderWithBuffer(EInPlace, ArgTypes &&... Args)
Definition StringBuilder.h:520
TStringBuilderWithBuffer()
Definition StringBuilder.h:511
Definition StringView.h:107
int32 CopyString(CharType *Dest, int32 CharCount, int32 Position=0) const
Definition StringView.h:569
constexpr int32 Len() const
Definition StringView.h:174
constexpr const CharType * GetData() const
Definition StringView.h:160
Definition StringBuilder.h:32
Definition StringBuilder.h:39
Definition OverriddenPropertySet.cpp:45
implementation
Definition PlayInEditorLoadingScope.h:8
Definition AdvancedWidgetsModule.cpp:13
Definition IsArrayOrRefOfTypeByPredicate.h:13
Definition IsCharEncodingCompatibleWith.h:65
Definition IsContiguousContainer.h:16
static constexpr bool Value
Definition IsContiguousContainer.h:20
Definition IsValidVariadicFunctionArg.h:14