UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
StringBuilder.h File Reference

Go to the source code of this file.

Classes

class  UE::Core::Private::FDynamicStringBuilderToken
 
class  UE::Core::Private::FExternalStringBuilderToken
 
class  TStringBuilderBase< CharType >
 
class  TStringBuilderWithBuffer< CharType, BufferSize >
 
class  TExternalStringBuilder< CharType >
 
struct  TIsContiguousContainer< TWriteToString< CharType, BufferSize > >
 

Namespaces

namespace  UE
 
namespace  UE::Core
 
namespace  UE::Core::Private
 implementation
 

Functions

template<typename CharType >
constexpr int32 GetNum (const TStringBuilderBase< CharType > &Builder)
 
template<typename CharType , typename CharRangeType >
auto operator<< (TStringBuilderBase< CharType > &Builder, CharRangeType &&Str) -> decltype(Builder.Append(MakeStringView(Forward< CharRangeType >(Str))))
 
FAnsiStringBuilderBaseoperator<< (FAnsiStringBuilderBase &Builder, ANSICHAR Char)
 
FAnsiStringBuilderBaseoperator<< (FAnsiStringBuilderBase &Builder, UTF8CHAR Char)=delete
 
FAnsiStringBuilderBaseoperator<< (FAnsiStringBuilderBase &Builder, WIDECHAR Char)=delete
 
FWideStringBuilderBaseoperator<< (FWideStringBuilderBase &Builder, ANSICHAR Char)
 
FWideStringBuilderBaseoperator<< (FWideStringBuilderBase &Builder, UTF8CHAR Char)=delete
 
FWideStringBuilderBaseoperator<< (FWideStringBuilderBase &Builder, WIDECHAR Char)
 
FUtf8StringBuilderBaseoperator<< (FUtf8StringBuilderBase &Builder, ANSICHAR Char)
 
FUtf8StringBuilderBaseoperator<< (FUtf8StringBuilderBase &Builder, UTF8CHAR Char)
 
FUtf8StringBuilderBaseoperator<< (FUtf8StringBuilderBase &Builder, WIDECHAR Char)=delete
 
FWideStringBuilderBaseoperator<< (FWideStringBuilderBase &Builder, UTF32CHAR Char)
 
FUtf8StringBuilderBaseoperator<< (FUtf8StringBuilderBase &Builder, UTF32CHAR Char)
 
FStringBuilderBaseoperator+= (FStringBuilderBase &Builder, ANSICHAR Char)
 
FStringBuilderBaseoperator+= (FStringBuilderBase &Builder, WIDECHAR Char)
 
FStringBuilderBaseoperator+= (FStringBuilderBase &Builder, UTF8CHAR Char)
 
FStringBuilderBaseoperator+= (FStringBuilderBase &Builder, FWideStringView Str)
 
FStringBuilderBaseoperator+= (FStringBuilderBase &Builder, FUtf8StringView Str)
 
template<typename T UE_REQUIRES>
FAnsiStringBuilderBaseoperator<< (FAnsiStringBuilderBase &Builder, T Value)
 
template<typename T UE_REQUIRES>
FWideStringBuilderBaseoperator<< (FWideStringBuilderBase &Builder, T Value)
 
template<typename T UE_REQUIRES>
FUtf8StringBuilderBaseoperator<< (FUtf8StringBuilderBase &Builder, T Value)
 
template<typename CharType , typename T >
TStringBuilderBase< CharType > & operator<< (TStringBuilderBase< CharType > &Builder, const T &Value)
 
template<int32 BufferSize, typename... ArgTypes>
PRAGMA_ENABLE_DEPRECATION_WARNINGS TStringBuilderWithBuffer< TCHAR, BufferSize > WriteToString (ArgTypes &&... Args)
 
template<int32 BufferSize, typename... ArgTypes>
TStringBuilderWithBuffer< ANSICHAR, BufferSize > WriteToAnsiString (ArgTypes &&... Args)
 
template<int32 BufferSize, typename... ArgTypes>
TStringBuilderWithBuffer< WIDECHAR, BufferSize > WriteToWideString (ArgTypes &&... Args)
 
template<int32 BufferSize, typename... ArgTypes>
TStringBuilderWithBuffer< UTF8CHAR, BufferSize > WriteToUtf8String (ArgTypes &&... Args)
 
template<typename CharType >
auto AppendChars (TStringBuilderBase< CharType > &Builder)
 

Variables

template<typename T >
constexpr bool TIsFormattedStringBuilderType_V = false
 
template<>
constexpr bool TIsFormattedStringBuilderType_V< uint8 > = true
 
template<>
constexpr bool TIsFormattedStringBuilderType_V< uint16 > = true
 
template<>
constexpr bool TIsFormattedStringBuilderType_V< uint32 > = true
 
template<>
constexpr bool TIsFormattedStringBuilderType_V< uint64 > = true
 
template<>
constexpr bool TIsFormattedStringBuilderType_V< int8 > = true
 
template<>
constexpr bool TIsFormattedStringBuilderType_V< int16 > = true
 
template<>
constexpr bool TIsFormattedStringBuilderType_V< int32 > = true
 
template<>
constexpr bool TIsFormattedStringBuilderType_V< int64 > = true
 
template<>
constexpr bool TIsFormattedStringBuilderType_V< float > = true
 
template<>
constexpr bool TIsFormattedStringBuilderType_V< double > = true
 
template<>
constexpr bool TIsFormattedStringBuilderType_V< long double > = true
 
template<>
constexpr bool TIsFormattedStringBuilderType_V< long > = true
 
template<>
constexpr bool TIsFormattedStringBuilderType_V< unsigned long > = true
 
template<typename T >
constexpr bool TIsFormattedStringBuilderType_V< const T > = TIsFormattedStringBuilderType_V<T>
 
template<typename T >
constexpr bool TIsFormattedStringBuilderType_V< volatile T > = TIsFormattedStringBuilderType_V<T>
 
template<typename T >
constexpr bool TIsFormattedStringBuilderType_V< const volatile T > = TIsFormattedStringBuilderType_V<T>
 

Function Documentation

◆ AppendChars()

template<typename CharType >
auto AppendChars ( TStringBuilderBase< CharType > &  Builder)

Returns an object that can be used as the output container for algorithms by appending to the builder.

Example: Algo::Transform(StringView, AppendChars(Builder), FChar::ToLower)

◆ GetNum()

template<typename CharType >
constexpr int32 GetNum ( const TStringBuilderBase< CharType > &  Builder)
inlineconstexpr

◆ operator+=() [1/5]

FStringBuilderBase & operator+= ( FStringBuilderBase Builder,
ANSICHAR  Char 
)
inline

◆ operator+=() [2/5]

FStringBuilderBase & operator+= ( FStringBuilderBase Builder,
FUtf8StringView  Str 
)
inline

◆ operator+=() [3/5]

FStringBuilderBase & operator+= ( FStringBuilderBase Builder,
FWideStringView  Str 
)
inline

◆ operator+=() [4/5]

FStringBuilderBase & operator+= ( FStringBuilderBase Builder,
UTF8CHAR  Char 
)
inline

◆ operator+=() [5/5]

FStringBuilderBase & operator+= ( FStringBuilderBase Builder,
WIDECHAR  Char 
)
inline

◆ operator<<() [1/16]

FAnsiStringBuilderBase & operator<< ( FAnsiStringBuilderBase Builder,
ANSICHAR  Char 
)
inline

◆ operator<<() [2/16]

template<typename T UE_REQUIRES>
FAnsiStringBuilderBase & operator<< ( FAnsiStringBuilderBase Builder,
Value 
)
inline

◆ operator<<() [3/16]

FAnsiStringBuilderBase & operator<< ( FAnsiStringBuilderBase Builder,
UTF8CHAR  Char 
)
inlinedelete

◆ operator<<() [4/16]

FAnsiStringBuilderBase & operator<< ( FAnsiStringBuilderBase Builder,
WIDECHAR  Char 
)
inlinedelete

◆ operator<<() [5/16]

FUtf8StringBuilderBase & operator<< ( FUtf8StringBuilderBase Builder,
ANSICHAR  Char 
)
inline

◆ operator<<() [6/16]

template<typename T UE_REQUIRES>
FUtf8StringBuilderBase & operator<< ( FUtf8StringBuilderBase Builder,
Value 
)
inline

◆ operator<<() [7/16]

FUtf8StringBuilderBase & operator<< ( FUtf8StringBuilderBase Builder,
UTF32CHAR  Char 
)
inline

◆ operator<<() [8/16]

FUtf8StringBuilderBase & operator<< ( FUtf8StringBuilderBase Builder,
UTF8CHAR  Char 
)
inline

◆ operator<<() [9/16]

FUtf8StringBuilderBase & operator<< ( FUtf8StringBuilderBase Builder,
WIDECHAR  Char 
)
inlinedelete

◆ operator<<() [10/16]

FWideStringBuilderBase & operator<< ( FWideStringBuilderBase Builder,
ANSICHAR  Char 
)
inline

◆ operator<<() [11/16]

template<typename T UE_REQUIRES>
FWideStringBuilderBase & operator<< ( FWideStringBuilderBase Builder,
Value 
)
inline

◆ operator<<() [12/16]

FWideStringBuilderBase & operator<< ( FWideStringBuilderBase Builder,
UTF32CHAR  Char 
)
inline

◆ operator<<() [13/16]

FWideStringBuilderBase & operator<< ( FWideStringBuilderBase Builder,
UTF8CHAR  Char 
)
inlinedelete

◆ operator<<() [14/16]

FWideStringBuilderBase & operator<< ( FWideStringBuilderBase Builder,
WIDECHAR  Char 
)
inline

◆ operator<<() [15/16]

template<typename CharType , typename CharRangeType >
auto operator<< ( TStringBuilderBase< CharType > &  Builder,
CharRangeType &&  Str 
) -> decltype(Builder.Append(MakeStringView(Forward<CharRangeType>(Str))))
inline

◆ operator<<() [16/16]

template<typename CharType , typename T >
TStringBuilderBase< CharType > & operator<< ( TStringBuilderBase< CharType > &  Builder,
const T &  Value 
)
inline

◆ WriteToAnsiString()

template<int32 BufferSize, typename... ArgTypes>
TStringBuilderWithBuffer< ANSICHAR, BufferSize > WriteToAnsiString ( ArgTypes &&...  Args)

A function to create and append to a temporary string builder. See WriteToString.

◆ WriteToString()

template<int32 BufferSize, typename... ArgTypes>
PRAGMA_ENABLE_DEPRECATION_WARNINGS TStringBuilderWithBuffer< TCHAR, BufferSize > WriteToString ( ArgTypes &&...  Args)

A function to create and append to a temporary string builder.

Example Use Cases:

For void Action(FStringView) -> Action(WriteToString<64>(Arg1, Arg2)); For UE_LOG or checkf -> checkf(Condition, TEXT("%s"), *WriteToString<32>(Arg));

◆ WriteToUtf8String()

template<int32 BufferSize, typename... ArgTypes>
TStringBuilderWithBuffer< UTF8CHAR, BufferSize > WriteToUtf8String ( ArgTypes &&...  Args)

A function to create and append to a temporary string builder. See WriteToString.

◆ WriteToWideString()

template<int32 BufferSize, typename... ArgTypes>
TStringBuilderWithBuffer< WIDECHAR, BufferSize > WriteToWideString ( ArgTypes &&...  Args)

A function to create and append to a temporary string builder. See WriteToString.

Variable Documentation

◆ TIsFormattedStringBuilderType_V

template<typename T >
constexpr bool TIsFormattedStringBuilderType_V = false
constexpr

Trait which determines whether or not a type can be appended to TStringBuilderBase via TFormatSpecifier.

◆ TIsFormattedStringBuilderType_V< const T >

◆ TIsFormattedStringBuilderType_V< const volatile T >

◆ TIsFormattedStringBuilderType_V< double >

template<>
constexpr bool TIsFormattedStringBuilderType_V< double > = true
inlineconstexpr

◆ TIsFormattedStringBuilderType_V< float >

template<>
constexpr bool TIsFormattedStringBuilderType_V< float > = true
inlineconstexpr

◆ TIsFormattedStringBuilderType_V< int16 >

template<>
constexpr bool TIsFormattedStringBuilderType_V< int16 > = true
inlineconstexpr

◆ TIsFormattedStringBuilderType_V< int32 >

template<>
constexpr bool TIsFormattedStringBuilderType_V< int32 > = true
inlineconstexpr

◆ TIsFormattedStringBuilderType_V< int64 >

template<>
constexpr bool TIsFormattedStringBuilderType_V< int64 > = true
inlineconstexpr

◆ TIsFormattedStringBuilderType_V< int8 >

template<>
constexpr bool TIsFormattedStringBuilderType_V< int8 > = true
inlineconstexpr

◆ TIsFormattedStringBuilderType_V< long >

template<>
constexpr bool TIsFormattedStringBuilderType_V< long > = true
inlineconstexpr

◆ TIsFormattedStringBuilderType_V< long double >

template<>
constexpr bool TIsFormattedStringBuilderType_V< long double > = true
inlineconstexpr

◆ TIsFormattedStringBuilderType_V< uint16 >

template<>
constexpr bool TIsFormattedStringBuilderType_V< uint16 > = true
inlineconstexpr

◆ TIsFormattedStringBuilderType_V< uint32 >

template<>
constexpr bool TIsFormattedStringBuilderType_V< uint32 > = true
inlineconstexpr

◆ TIsFormattedStringBuilderType_V< uint64 >

template<>
constexpr bool TIsFormattedStringBuilderType_V< uint64 > = true
inlineconstexpr

◆ TIsFormattedStringBuilderType_V< uint8 >

template<>
constexpr bool TIsFormattedStringBuilderType_V< uint8 > = true
inlineconstexpr

◆ TIsFormattedStringBuilderType_V< unsigned long >

◆ TIsFormattedStringBuilderType_V< volatile T >