UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
uLang::TUTF8String< AllocatorType, AllocatorArgsType > Class Template Reference

#include <UTF8String.h>

+ Inheritance diagram for uLang::TUTF8String< AllocatorType, AllocatorArgsType >:

Public Member Functions

 TUTF8String ()
 
 TUTF8String (const char *NullTerminatedString, AllocatorArgsType &&... AllocatorArgs)
 
 TUTF8String (const CUTF8StringView &StringView, AllocatorArgsType &&... AllocatorArgs)
 
template<typename... FormatterArgsType>
 TUTF8String (AllocatorArgsType &&... AllocatorArgs, const char *NullTerminatedFormat, FormatterArgsType &&... FormatterArgs)
 
 TUTF8String (AllocatorArgsType &&... AllocatorArgs, const char *NullTerminatedFormat, va_list FormatterArgs)
 
template<typename InitializerFunctorType >
 TUTF8String (size_t ByteLength, InitializerFunctorType &&InitializerFunctor, AllocatorArgsType &&... AllocatorArgs)
 
 TUTF8String (const TUTF8String &Other)
 
template<class OtherAllocatorType , typename... OtherAllocatorArgsType>
 TUTF8String (const TUTF8String< OtherAllocatorType, OtherAllocatorArgsType... > &Other, AllocatorArgsType &&... AllocatorArgs)
 
 TUTF8String (TUTF8String &&Other)
 
 ~TUTF8String ()
 
ULANG_FORCEINLINE void Reset ()
 
ULANG_FORCEINLINE void Empty ()
 
ULANG_FORCEINLINE UTF8CharResize (int32_t NewByteLen)
 
ULANG_FORCEINLINE int32_t ByteLen () const
 
ULANG_FORCEINLINE bool IsEmpty () const
 
ULANG_FORCEINLINE bool IsFilled () const
 
ULANG_FORCEINLINE const UTF8CharAsUTF8 () const
 
ULANG_FORCEINLINE const charAsCString () const
 
ULANG_FORCEINLINE const charoperator* () const
 
ULANG_FORCEINLINE const UTF8Charoperator[] (int32_t ByteIndex) const
 
template<class OtherAllocatorType , typename... OtherAllocatorArgsType>
ULANG_FORCEINLINE bool operator== (const TUTF8String< OtherAllocatorType, OtherAllocatorArgsType... > &Other) const
 
template<class OtherAllocatorType , typename... OtherAllocatorArgsType>
ULANG_FORCEINLINE bool operator!= (const TUTF8String< OtherAllocatorType, OtherAllocatorArgsType... > &Other) const
 
template<class OtherAllocatorType , typename... OtherAllocatorArgsType>
ULANG_FORCEINLINE bool operator< (const TUTF8String< OtherAllocatorType, OtherAllocatorArgsType... > &Other) const
 
template<class OtherAllocatorType , typename... OtherAllocatorArgsType>
ULANG_FORCEINLINE bool operator<= (const TUTF8String< OtherAllocatorType, OtherAllocatorArgsType... > &Other) const
 
template<class OtherAllocatorType , typename... OtherAllocatorArgsType>
ULANG_FORCEINLINE bool operator> (const TUTF8String< OtherAllocatorType, OtherAllocatorArgsType... > &Other) const
 
template<class OtherAllocatorType , typename... OtherAllocatorArgsType>
ULANG_FORCEINLINE bool operator>= (const TUTF8String< OtherAllocatorType, OtherAllocatorArgsType... > &Other) const
 
ULANG_FORCEINLINE bool operator== (const CUTF8StringView &StringView) const
 
ULANG_FORCEINLINE bool operator!= (const CUTF8StringView &StringView) const
 
TUTF8Stringoperator= (const TUTF8String &Other)
 
TUTF8Stringoperator= (TUTF8String &&Other)
 
TUTF8Stringoperator+= (const CUTF8StringView &OtherStringView)
 
template<class OtherAllocatorType , typename... OtherAllocatorArgsType>
TUTF8Stringoperator+= (const TUTF8String< OtherAllocatorType, OtherAllocatorArgsType... > &Other)
 
TUTF8Stringoperator+= (const char *OtherNullTerminatedString)
 
TUTF8String operator+ (const CUTF8StringView &OtherStringView) const
 
template<class OtherAllocatorType , typename... OtherAllocatorArgsType>
TUTF8String operator+ (const TUTF8String< OtherAllocatorType, OtherAllocatorArgsType... > &Other) const
 
TUTF8String operator+ (const char *OtherNullTerminatedString) const
 
ULANG_FORCEINLINE operator const CUTF8StringView & () const
 
ULANG_FORCEINLINE const CUTF8StringViewToStringView () const
 
ULANG_FORCEINLINE CUTF8StringView::UnicodeConstIterator begin () const
 
ULANG_FORCEINLINE CUTF8StringView::UnicodeConstIterator end () const
 
ULANG_FORCEINLINE TUTF8String Replace (UTF8Char Old, UTF8Char New) const
 
TUTF8String Replace (const CUTF8StringView &Old, const CUTF8StringView &New) const
 
template<typename... FormatterArgsType>
ULANG_FORCEINLINE TUTF8String (AllocatorArgsType &&... AllocatorArgs, const char *NullTerminatedFormat, FormatterArgsType &&... FormatterArgs)
 
template<typename InitializerFunctorType >
ULANG_FORCEINLINE TUTF8String (size_t ByteLength, InitializerFunctorType &&InitializerFunctor, AllocatorArgsType &&... AllocatorArgs)
 
template<class OtherAllocatorType , typename... OtherAllocatorArgsType>
ULANG_FORCEINLINE TUTF8String (const TUTF8String< OtherAllocatorType, OtherAllocatorArgsType... > &Other, AllocatorArgsType &&... AllocatorArgs)
 
template<class OtherAllocatorType , typename... OtherAllocatorArgsType>
ULANG_FORCEINLINE TUTF8String< AllocatorType, AllocatorArgsType... > & operator+= (const TUTF8String< OtherAllocatorType, OtherAllocatorArgsType... > &Other)
 
template<class OtherAllocatorType , typename... OtherAllocatorArgsType>
ULANG_FORCEINLINE TUTF8String< AllocatorType, AllocatorArgsType... > operator+ (const TUTF8String< OtherAllocatorType, OtherAllocatorArgsType... > &Other) const
 

Static Public Member Functions

static const TUTF8StringGetEmpty ()
 

Protected Member Functions

ULANG_FORCEINLINE int32_t InputByteIdxToDirectIdx (int32_t InIdx) const
 
ULANG_FORCEINLINE bool InputByteIdxSpan (int32_t &InOutIdx, int32_t &InOutSpan) const
 

Friends

template<class OtherAllocatorType , typename... OtherAllocatorArgsType>
class TUTF8StringBuilder
 

Detailed Description

template<class AllocatorType, typename... AllocatorArgsType>
class uLang::TUTF8String< AllocatorType, AllocatorArgsType >

Simple string class, used mostly for string storage Implements null termination, so can be used as a C-style string (via operator *) The AllocatorType must provide the methods void * Allocate(size_t) and void Deallocate(void *)

Constructor & Destructor Documentation

◆ TUTF8String() [1/12]

template<class AllocatorType , typename... AllocatorArgsType>
uLang::TUTF8String< AllocatorType, AllocatorArgsType >::TUTF8String ( )
inline

◆ TUTF8String() [2/12]

template<class AllocatorType , typename... AllocatorArgsType>
ULANG_FORCEINLINE uLang::TUTF8String< AllocatorType, AllocatorArgsType >::TUTF8String ( const char NullTerminatedString,
AllocatorArgsType &&...  AllocatorArgs 
)

◆ TUTF8String() [3/12]

template<class AllocatorType , typename... AllocatorArgsType>
ULANG_FORCEINLINE uLang::TUTF8String< AllocatorType, AllocatorArgsType >::TUTF8String ( const CUTF8StringView StringView,
AllocatorArgsType &&...  AllocatorArgs 
)

◆ TUTF8String() [4/12]

template<class AllocatorType , typename... AllocatorArgsType>
template<typename... FormatterArgsType>
uLang::TUTF8String< AllocatorType, AllocatorArgsType >::TUTF8String ( AllocatorArgsType &&...  AllocatorArgs,
const char NullTerminatedFormat,
FormatterArgsType &&...  FormatterArgs 
)

◆ TUTF8String() [5/12]

template<class AllocatorType , typename... AllocatorArgsType>
ULANG_FORCEINLINE uLang::TUTF8String< AllocatorType, AllocatorArgsType >::TUTF8String ( AllocatorArgsType &&...  AllocatorArgs,
const char NullTerminatedFormat,
va_list  FormatterArgs 
)

◆ TUTF8String() [6/12]

template<class AllocatorType , typename... AllocatorArgsType>
uLang::TUTF8String< AllocatorType, AllocatorArgsType >::TUTF8String ( size_t  ByteLength,
InitializerFunctorType &&  InitializerFunctor,
AllocatorArgsType &&...  AllocatorArgs 
)

◆ TUTF8String() [7/12]

template<class AllocatorType , typename... AllocatorArgsType>
ULANG_FORCEINLINE uLang::TUTF8String< AllocatorType, AllocatorArgsType >::TUTF8String ( const TUTF8String< AllocatorType, AllocatorArgsType > &  Other)

◆ TUTF8String() [8/12]

template<class AllocatorType , typename... AllocatorArgsType>
template<class OtherAllocatorType , typename... OtherAllocatorArgsType>
uLang::TUTF8String< AllocatorType, AllocatorArgsType >::TUTF8String ( const TUTF8String< OtherAllocatorType, OtherAllocatorArgsType... > &  Other,
AllocatorArgsType &&...  AllocatorArgs 
)

◆ TUTF8String() [9/12]

template<class AllocatorType , typename... AllocatorArgsType>
ULANG_FORCEINLINE uLang::TUTF8String< AllocatorType, AllocatorArgsType >::TUTF8String ( TUTF8String< AllocatorType, AllocatorArgsType > &&  Other)

◆ ~TUTF8String()

template<class AllocatorType , typename... AllocatorArgsType>
uLang::TUTF8String< AllocatorType, AllocatorArgsType >::~TUTF8String ( )
inline

◆ TUTF8String() [10/12]

template<class AllocatorType , typename... AllocatorArgsType>
template<typename... FormatterArgsType>
ULANG_FORCEINLINE uLang::TUTF8String< AllocatorType, AllocatorArgsType >::TUTF8String ( AllocatorArgsType &&...  AllocatorArgs,
const char NullTerminatedFormat,
FormatterArgsType &&...  FormatterArgs 
)

◆ TUTF8String() [11/12]

template<class AllocatorType , typename... AllocatorArgsType>
ULANG_FORCEINLINE uLang::TUTF8String< AllocatorType, AllocatorArgsType >::TUTF8String ( size_t  ByteLength,
InitializerFunctorType &&  InitializerFunctor,
AllocatorArgsType &&...  AllocatorArgs 
)

◆ TUTF8String() [12/12]

template<class AllocatorType , typename... AllocatorArgsType>
template<class OtherAllocatorType , typename... OtherAllocatorArgsType>
ULANG_FORCEINLINE uLang::TUTF8String< AllocatorType, AllocatorArgsType >::TUTF8String ( const TUTF8String< OtherAllocatorType, OtherAllocatorArgsType... > &  Other,
AllocatorArgsType &&...  AllocatorArgs 
)

Member Function Documentation

◆ AsCString()

template<class AllocatorType , typename... AllocatorArgsType>
ULANG_FORCEINLINE const char * uLang::TUTF8String< AllocatorType, AllocatorArgsType >::AsCString ( ) const
inline

◆ AsUTF8()

template<class AllocatorType , typename... AllocatorArgsType>
ULANG_FORCEINLINE const UTF8Char * uLang::TUTF8String< AllocatorType, AllocatorArgsType >::AsUTF8 ( ) const
inline

◆ begin()

template<class AllocatorType , typename... AllocatorArgsType>
ULANG_FORCEINLINE CUTF8StringView::UnicodeConstIterator uLang::TUTF8String< AllocatorType, AllocatorArgsType >::begin ( ) const
inline

◆ ByteLen()

template<class AllocatorType , typename... AllocatorArgsType>
ULANG_FORCEINLINE int32_t uLang::TUTF8String< AllocatorType, AllocatorArgsType >::ByteLen ( ) const
inline

◆ Empty()

template<class AllocatorType , typename... AllocatorArgsType>
ULANG_FORCEINLINE void uLang::TUTF8String< AllocatorType, AllocatorArgsType >::Empty ( )
inline

◆ end()

template<class AllocatorType , typename... AllocatorArgsType>
ULANG_FORCEINLINE CUTF8StringView::UnicodeConstIterator uLang::TUTF8String< AllocatorType, AllocatorArgsType >::end ( ) const
inline

◆ GetEmpty()

template<class AllocatorType , typename... AllocatorArgsType>
const TUTF8String< AllocatorType, AllocatorArgsType... > & uLang::TUTF8String< AllocatorType, AllocatorArgsType >::GetEmpty ( )
static

◆ InputByteIdxSpan()

template<class AllocatorType , typename... AllocatorArgsType>
ULANG_FORCEINLINE bool uLang::TUTF8String< AllocatorType, AllocatorArgsType >::InputByteIdxSpan ( int32_t InOutIdx,
int32_t InOutSpan 
) const
inlineprotected

◆ InputByteIdxToDirectIdx()

template<class AllocatorType , typename... AllocatorArgsType>
ULANG_FORCEINLINE int32_t uLang::TUTF8String< AllocatorType, AllocatorArgsType >::InputByteIdxToDirectIdx ( int32_t  InIdx) const
inlineprotected

◆ IsEmpty()

template<class AllocatorType , typename... AllocatorArgsType>
ULANG_FORCEINLINE bool uLang::TUTF8String< AllocatorType, AllocatorArgsType >::IsEmpty ( ) const
inline

◆ IsFilled()

template<class AllocatorType , typename... AllocatorArgsType>
ULANG_FORCEINLINE bool uLang::TUTF8String< AllocatorType, AllocatorArgsType >::IsFilled ( ) const
inline

◆ operator const CUTF8StringView &()

template<class AllocatorType , typename... AllocatorArgsType>
ULANG_FORCEINLINE uLang::TUTF8String< AllocatorType, AllocatorArgsType >::operator const CUTF8StringView & ( ) const
inline

◆ operator!=() [1/2]

template<class AllocatorType , typename... AllocatorArgsType>
ULANG_FORCEINLINE bool uLang::TUTF8String< AllocatorType, AllocatorArgsType >::operator!= ( const CUTF8StringView StringView) const
inline

◆ operator!=() [2/2]

template<class AllocatorType , typename... AllocatorArgsType>
template<class OtherAllocatorType , typename... OtherAllocatorArgsType>
ULANG_FORCEINLINE bool uLang::TUTF8String< AllocatorType, AllocatorArgsType >::operator!= ( const TUTF8String< OtherAllocatorType, OtherAllocatorArgsType... > &  Other) const
inline

◆ operator*()

template<class AllocatorType , typename... AllocatorArgsType>
ULANG_FORCEINLINE const char * uLang::TUTF8String< AllocatorType, AllocatorArgsType >::operator* ( ) const
inline

◆ operator+() [1/4]

template<class AllocatorType , typename... AllocatorArgsType>
ULANG_FORCEINLINE TUTF8String< AllocatorType, AllocatorArgsType... > uLang::TUTF8String< AllocatorType, AllocatorArgsType >::operator+ ( const char OtherNullTerminatedString) const

◆ operator+() [2/4]

template<class AllocatorType , typename... AllocatorArgsType>
ULANG_FORCEINLINE TUTF8String< AllocatorType, AllocatorArgsType... > uLang::TUTF8String< AllocatorType, AllocatorArgsType >::operator+ ( const CUTF8StringView OtherStringView) const

◆ operator+() [3/4]

template<class AllocatorType , typename... AllocatorArgsType>
template<class OtherAllocatorType , typename... OtherAllocatorArgsType>
TUTF8String uLang::TUTF8String< AllocatorType, AllocatorArgsType >::operator+ ( const TUTF8String< OtherAllocatorType, OtherAllocatorArgsType... > &  Other) const

◆ operator+() [4/4]

template<class AllocatorType , typename... AllocatorArgsType>
template<class OtherAllocatorType , typename... OtherAllocatorArgsType>
ULANG_FORCEINLINE TUTF8String< AllocatorType, AllocatorArgsType... > uLang::TUTF8String< AllocatorType, AllocatorArgsType >::operator+ ( const TUTF8String< OtherAllocatorType, OtherAllocatorArgsType... > &  Other) const

◆ operator+=() [1/4]

template<class AllocatorType , typename... AllocatorArgsType>
ULANG_FORCEINLINE TUTF8String< AllocatorType, AllocatorArgsType... > & uLang::TUTF8String< AllocatorType, AllocatorArgsType >::operator+= ( const char OtherNullTerminatedString)

◆ operator+=() [2/4]

template<class AllocatorType , typename... AllocatorArgsType>
ULANG_FORCEINLINE TUTF8String< AllocatorType, AllocatorArgsType... > & uLang::TUTF8String< AllocatorType, AllocatorArgsType >::operator+= ( const CUTF8StringView OtherStringView)

◆ operator+=() [3/4]

template<class AllocatorType , typename... AllocatorArgsType>
template<class OtherAllocatorType , typename... OtherAllocatorArgsType>
TUTF8String & uLang::TUTF8String< AllocatorType, AllocatorArgsType >::operator+= ( const TUTF8String< OtherAllocatorType, OtherAllocatorArgsType... > &  Other)

◆ operator+=() [4/4]

template<class AllocatorType , typename... AllocatorArgsType>
template<class OtherAllocatorType , typename... OtherAllocatorArgsType>
ULANG_FORCEINLINE TUTF8String< AllocatorType, AllocatorArgsType... > & uLang::TUTF8String< AllocatorType, AllocatorArgsType >::operator+= ( const TUTF8String< OtherAllocatorType, OtherAllocatorArgsType... > &  Other)

◆ operator<()

template<class AllocatorType , typename... AllocatorArgsType>
template<class OtherAllocatorType , typename... OtherAllocatorArgsType>
ULANG_FORCEINLINE bool uLang::TUTF8String< AllocatorType, AllocatorArgsType >::operator< ( const TUTF8String< OtherAllocatorType, OtherAllocatorArgsType... > &  Other) const
inline

◆ operator<=()

template<class AllocatorType , typename... AllocatorArgsType>
template<class OtherAllocatorType , typename... OtherAllocatorArgsType>
ULANG_FORCEINLINE bool uLang::TUTF8String< AllocatorType, AllocatorArgsType >::operator<= ( const TUTF8String< OtherAllocatorType, OtherAllocatorArgsType... > &  Other) const
inline

◆ operator=() [1/2]

template<class AllocatorType , typename... AllocatorArgsType>
ULANG_FORCEINLINE TUTF8String< AllocatorType, AllocatorArgsType... > & uLang::TUTF8String< AllocatorType, AllocatorArgsType >::operator= ( const TUTF8String< AllocatorType, AllocatorArgsType > &  Other)

◆ operator=() [2/2]

template<class AllocatorType , typename... AllocatorArgsType>
ULANG_FORCEINLINE TUTF8String< AllocatorType, AllocatorArgsType... > & uLang::TUTF8String< AllocatorType, AllocatorArgsType >::operator= ( TUTF8String< AllocatorType, AllocatorArgsType > &&  Other)

◆ operator==() [1/2]

template<class AllocatorType , typename... AllocatorArgsType>
ULANG_FORCEINLINE bool uLang::TUTF8String< AllocatorType, AllocatorArgsType >::operator== ( const CUTF8StringView StringView) const
inline

◆ operator==() [2/2]

template<class AllocatorType , typename... AllocatorArgsType>
template<class OtherAllocatorType , typename... OtherAllocatorArgsType>
ULANG_FORCEINLINE bool uLang::TUTF8String< AllocatorType, AllocatorArgsType >::operator== ( const TUTF8String< OtherAllocatorType, OtherAllocatorArgsType... > &  Other) const
inline

◆ operator>()

template<class AllocatorType , typename... AllocatorArgsType>
template<class OtherAllocatorType , typename... OtherAllocatorArgsType>
ULANG_FORCEINLINE bool uLang::TUTF8String< AllocatorType, AllocatorArgsType >::operator> ( const TUTF8String< OtherAllocatorType, OtherAllocatorArgsType... > &  Other) const
inline

◆ operator>=()

template<class AllocatorType , typename... AllocatorArgsType>
template<class OtherAllocatorType , typename... OtherAllocatorArgsType>
ULANG_FORCEINLINE bool uLang::TUTF8String< AllocatorType, AllocatorArgsType >::operator>= ( const TUTF8String< OtherAllocatorType, OtherAllocatorArgsType... > &  Other) const
inline

◆ operator[]()

template<class AllocatorType , typename... AllocatorArgsType>
ULANG_FORCEINLINE const UTF8Char & uLang::TUTF8String< AllocatorType, AllocatorArgsType >::operator[] ( int32_t  ByteIndex) const
inline
Returns
specific byte from this string

◆ Replace() [1/2]

template<class AllocatorType , typename... AllocatorArgsType>
TUTF8String uLang::TUTF8String< AllocatorType, AllocatorArgsType >::Replace ( const CUTF8StringView Old,
const CUTF8StringView New 
) const
inline

◆ Replace() [2/2]

template<class AllocatorType , typename... AllocatorArgsType>
ULANG_FORCEINLINE TUTF8String uLang::TUTF8String< AllocatorType, AllocatorArgsType >::Replace ( UTF8Char  Old,
UTF8Char  New 
) const
inline

◆ Reset()

template<class AllocatorType , typename... AllocatorArgsType>
ULANG_FORCEINLINE void uLang::TUTF8String< AllocatorType, AllocatorArgsType >::Reset ( )
inline

◆ Resize()

template<class AllocatorType , typename... AllocatorArgsType>
ULANG_FORCEINLINE UTF8Char * uLang::TUTF8String< AllocatorType, AllocatorArgsType >::Resize ( int32_t  NewByteLen)
inline

◆ ToStringView()

template<class AllocatorType , typename... AllocatorArgsType>
ULANG_FORCEINLINE const CUTF8StringView & uLang::TUTF8String< AllocatorType, AllocatorArgsType >::ToStringView ( ) const
inline

Friends And Related Symbol Documentation

◆ TUTF8StringBuilder

template<class AllocatorType , typename... AllocatorArgsType>
template<class OtherAllocatorType , typename... OtherAllocatorArgsType>
friend class TUTF8StringBuilder
friend

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