template<typename T>
sead::SafeStringBase class

Public types

class iterator
class token_iterator
Iterates over a string as if it were split by one or several delimiter characters.

Public static variables

static const T cNullChar
static const T cLineBreakChar
static const SafeStringBase cEmptyString
static const s32 cMaximumLength

Constructors, destructors, conversion operators

SafeStringBase()
SafeStringBase(const T* str)
SafeStringBase(const SafeStringBase& other) defaulted
~SafeStringBase() defaulted virtual

Public functions

auto operator=(const SafeStringBase& other) -> SafeStringBase& virtual
auto operator==(const SafeStringBase& rhs) const -> bool
auto operator!=(const SafeStringBase& rhs) const -> bool
auto begin() const -> iterator
auto end() const -> iterator
auto tokenBegin(const SafeStringBase& delimiter) const -> token_iterator
auto tokenEnd(const SafeStringBase& delimiter) const -> token_iterator
auto cstr() const -> const T*
auto getStringTop() const -> const T*
auto at(s32 idx) const -> const T&
auto operator[](s32 idx) const -> const T&
auto calcLength() const -> s32
auto getPart(s32 at) const -> SafeStringBase<T>
auto getPart(const iterator& it) const -> SafeStringBase<T>
auto getPart(const token_iterator& it) const -> SafeStringBase<T>
auto include(const T& c) const -> bool
auto include(const SafeStringBase<T>& str) const -> bool
auto isEqual(const SafeStringBase<T>& str) const -> bool
auto compare(const SafeStringBase<T>& str) const -> s32
auto comparen(const SafeStringBase<T>& str, s32 n) const -> s32
auto findIndex(const SafeStringBase<T>& str) const -> s32
auto findIndex(const SafeStringBase<T>& str, s32 start_pos) const -> s32
auto rfindIndex(const SafeStringBase<T>& str) const -> s32
auto findIterator(const SafeStringBase& str) const -> iterator
auto rfindIterator(const SafeStringBase& str) const -> iterator
auto isEmpty() const -> bool
auto startsWith(const SafeStringBase<T>& prefix) const -> bool
auto endsWith(const SafeStringBase<T>& suffix) const -> bool
auto cEmptyString("") -> const SafeStringBase<char>
auto cEmptyString(cEmptyStringChar16) -> const SafeStringBase<char16>
auto operator=(const SafeStringBase<char>& other) -> SafeStringBase<char>& defaulted
auto operator=(const SafeStringBase<char16>& other) -> SafeStringBase<char16>& defaulted

Protected functions

void assureTerminationImpl_() const virtual
auto unsafeAt_(s32 idx) const -> const T&

Protected variables

const T* mStringTop

Function documentation

template<typename T>
const SafeStringBase<char> sead::SafeStringBase<T>::cEmptyString("")

template<typename T>
const SafeStringBase<char16> sead::SafeStringBase<T>::cEmptyString(cEmptyStringChar16)

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

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