template<typename T>
sead::HeapSafeStringBase class

Base classes

template<typename T>
class BufferedSafeStringBase<T>

Constructors, destructors, conversion operators

HeapSafeStringBase(Heap* heap, const SafeStringBase<T>& string, s32 alignment = sizeof(void*))
HeapSafeStringBase(const HeapSafeStringBase&) deleted
HeapSafeStringBase(HeapSafeStringBase&& other) noexcept
~HeapSafeStringBase() override
__attribute__((always_inline)) BufferedSafeStringBase(T *buffer
if(size<= 0)

Public functions

auto operator=(const HeapSafeStringBase&) -> HeapSafeStringBase& deleted
auto operator=(HeapSafeStringBase&& other) -> HeapSafeStringBase& noexcept
auto operator=(const SafeStringBase<T>& other) -> HeapSafeStringBase<T>& override
auto operator=(const SafeStringBase<char>& other) -> HeapSafeStringBase<char>&
auto operator=(const SafeStringBase<char16>& other) -> HeapSafeStringBase<char16>&
auto operator[](s32 idx) const -> const T&
auto getBuffer() -> T*
auto getBufferSize() const -> s32
auto copy(const SafeStringBase<T>& src, s32 copyLength = -1) -> s32
auto copyAt(s32 at, const SafeStringBase<T>& src, s32 copyLength = -1) -> s32
auto cutOffCopy(const SafeStringBase<T>& src, s32 copyLength = -1) -> s32
auto cutOffCopyAt(s32 at, const SafeStringBase<T>& src, s32 copyLength = -1) -> s32
auto copyAtWithTerminate(s32 at, const SafeStringBase<T>& src, s32 copyLength = -1) -> s32
auto format(const T* format, ...) -> s32
auto format(const char* formatStr, ...) -> s32
auto format(const char16* formatStr, ...) -> s32
auto format(const char* formatStr, ...) -> s32
auto format(const char16* formatStr, ...) -> s32
auto formatV(const T* format, std::va_list args) -> s32
auto formatV(const char* formatStr, va_list args) -> s32
auto formatV(const char16* formatStr, va_list args) -> s32
auto formatV(const char* formatStr, va_list args) -> s32
auto formatV(const char16* formatStr, va_list args) -> s32
auto appendWithFormat(const T* formatStr, ...) -> s32
auto appendWithFormat(const char* formatStr, ...) -> s32
auto appendWithFormat(const char16* formatStr, ...) -> s32
auto appendWithFormat(const char* format, ...) -> s32
auto appendWithFormat(const char16* format, ...) -> s32
auto appendWithFormatV(const T* formatStr, std::va_list args) -> s32
auto appendWithFormatV(const char* formatStr, va_list args) -> s32
auto appendWithFormatV(const char16* formatStr, va_list args) -> s32
auto appendWithFormatV(const char* format, std::va_list args) -> s32
auto appendWithFormatV(const char16* format, std::va_list args) -> s32
auto append(const SafeStringBase<T>& str, s32 append_length = -1) -> s32
Append append_length characters from str.
auto append(T c) -> s32
Append a character.
auto append(T c, s32 n) -> s32
Append a character n times.
auto prepend(const SafeStringBase<T>& str, s32 prepend_length = -1) -> s32
auto chop(s32 num) -> s32
auto chopMatchedChar(T c) -> s32
auto chopMatchedChar(const T* characters) -> s32
auto chopUnprintableAsciiChar() -> s32
auto rstrip(const T* characters) -> s32
auto rstripUnprintableAsciiChars() -> s32
auto trim(s32 trim_length) -> s32
auto trimMatchedString(const SafeStringBase<T>& suffix) -> s32
auto removeSuffix(const SafeStringBase<T>& suffix) -> s32
auto replaceChar(T old_char, T new_char) -> s32
auto replaceCharList(const SafeStringBase<T>& old_chars, const SafeStringBase<T>& new_chars) -> s32
auto setReplaceString(const SafeStringBase<T>& target_str, const SafeStringBase<T>& old_str, const SafeStringBase<T>& new_str) -> s32
auto replaceString(const SafeStringBase<T>& old_str, const SafeStringBase<T>& new_str) -> s32
auto convertFromMultiByteString(const SafeStringBase<char>& str, s32 str_length) -> s32
auto convertFromWideCharString(const SafeStringBase<char16>& str, s32 str_length) -> s32
void clear()

Public variables

s32 size
else

Protected static functions

static auto formatImpl_(T* dst, s32 dst_size, const T* format, std::va_list arg) -> s32

Protected functions

void assureTerminationImpl_() const override
void assureTerminationImpl_() const
void assureTerminationImpl_() const
auto getMutableStringTop_() -> T*
auto formatImpl_(char* s, s32 n, const char* formatStr, va_list args) -> s32
auto formatImpl_(char16* s, s32 n, const char16* formatStr, va_list args) -> s32
template<typename OtherType>
auto convertFromOtherType_(const SafeStringBase<OtherType>& src, s32 src_size) -> s32

Protected variables

s32 mBufferSize

Function documentation

template<typename T>
HeapSafeStringBase<char>& sead::HeapSafeStringBase<T>::operator=(const SafeStringBase<char>& other)

template<typename T>
HeapSafeStringBase<char16>& sead::HeapSafeStringBase<T>::operator=(const SafeStringBase<char16>& other)

template<typename T>
s32 sead::HeapSafeStringBase<T>::format(const char* formatStr, ...)

template<typename T>
s32 sead::HeapSafeStringBase<T>::format(const char16* formatStr, ...)

template<typename T>
s32 sead::HeapSafeStringBase<T>::formatV(const char* formatStr, va_list args)

template<typename T>
s32 sead::HeapSafeStringBase<T>::formatV(const char16* formatStr, va_list args)

template<typename T>
s32 sead::HeapSafeStringBase<T>::appendWithFormat(const char* format, ...)

template<typename T>
s32 sead::HeapSafeStringBase<T>::appendWithFormat(const char16* format, ...)

template<typename T>
s32 sead::HeapSafeStringBase<T>::appendWithFormatV(const char* format, std::va_list args)

template<typename T>
s32 sead::HeapSafeStringBase<T>::appendWithFormatV(const char16* format, std::va_list args)

template<typename T>
void sead::HeapSafeStringBase<T>::assureTerminationImpl_() const protected

template<typename T>
void sead::HeapSafeStringBase<T>::assureTerminationImpl_() const protected

template<typename T>
s32 sead::HeapSafeStringBase<T>::formatImpl_(char* s, s32 n, const char* formatStr, va_list args) protected

template<typename T>
s32 sead::HeapSafeStringBase<T>::formatImpl_(char16* s, s32 n, const char16* formatStr, va_list args) protected