IceShard 1
A personal game engine project, with development focused on 2D/2.5D games.
Loading...
Searching...
No Matches
ice::BasicString< CharT > Struct Template Reference

#include <ice/string.hxx>

Inheritance diagram for ice::BasicString< CharT >:
ice::string::ReadOnlyOperations ice::BasicPath< char > ice::BasicPath< CharT >

Public Types

using CharType = CharT
using ValueType = CharType const
using ConstIterator = ValueType*
using ConstReverseIterator = std::reverse_iterator<ValueType*>
using Iterator = ConstIterator
using ReverseIterator = ConstReverseIterator
using SizeType = ice::ncount
using StringType = ice::BasicString<CharType>

Public Member Functions

constexpr BasicString () noexcept=default
constexpr BasicString (ValueType *ptr_array_nt) noexcept
constexpr BasicString (ValueType *ptr_array, ice::ncount count) noexcept
constexpr BasicString (ValueType *ptr_array_begin, ValueType *ptr_array_end) noexcept
template<ice::u64 Size>
constexpr BasicString (ValueType(&char_array)[Size]) noexcept
constexpr BasicString (std::basic_string_view< CharType > string_view) noexcept
constexpr auto data () const noexcept -> ValueType *
constexpr auto size () const noexcept -> SizeType
constexpr auto data_view () const noexcept -> ice::Data
constexpr operator std::basic_string_view< CharType > () const noexcept
Public Member Functions inherited from ice::string::ReadOnlyOperations
template<StringType Self>
constexpr bool is_empty (this Self const &self) noexcept
template<StringType Self>
constexpr bool not_empty (this Self const &self) noexcept
template<StringType Self>
constexpr auto front (this Self const &self) noexcept -> typename Self::CharType
template<StringType Self>
constexpr auto back (this Self const &self) noexcept -> typename Self::CharType
template<StringType Self>
constexpr auto substr (this Self const &self, ice::nindex pos, ice::ncount len={}) noexcept -> typename Self::StringType
template<StringType Self>
constexpr auto substr (this Self const &self, ice::ref32 ref) noexcept -> typename Self::StringType
template<StringType Self>
constexpr auto starts_with (this Self const &self, StringType auto prefix) noexcept
template<StringType Self>
constexpr auto find_first_of (this Self const &self, typename Self::CharType character_value, ice::nindex start=0) noexcept -> ice::nindex
template<StringType Self>
constexpr auto find_first_of (this Self const &self, typename Self::StringType character_values, ice::nindex start=0) noexcept -> ice::nindex
template<StringType Self>
constexpr auto find_last_of (this Self const &self, typename Self::CharType character_value, ice::nindex start=0) noexcept -> ice::nindex
template<StringType Self>
constexpr auto find_last_of (this Self const &self, typename Self::StringType character_values, ice::nindex start=0) noexcept -> ice::nindex
template<StringType Self>
constexpr auto find_first_not_of (this Self const &self, typename Self::CharType character_value, ice::nindex start_idx=0) noexcept -> ice::nindex
template<StringType Self>
constexpr auto find_first_not_of (this Self const &self, typename Self::StringType character_values, ice::nindex start_idx=0) noexcept -> ice::nindex
template<StringType Self>
constexpr auto find_last_not_of (this Self const &self, typename Self::CharType character_value, ice::nindex start_idx=0) noexcept -> ice::nindex
template<StringType Self>
constexpr auto find_last_not_of (this Self const &self, typename Self::StringType character_values, ice::nindex start_idx=0) noexcept -> ice::nindex
template<StringType Self>
constexpr auto cbegin (this Self const &self) noexcept -> typename Self::ConstIterator
template<StringType Self>
constexpr auto cend (this Self const &self) noexcept -> typename Self::ConstIterator
template<StringType Self>
constexpr auto crbegin (this Self const &self) noexcept -> typename Self::ConstReverseIterator
template<StringType Self>
constexpr auto crend (this Self const &self) noexcept -> typename Self::ConstReverseIterator
template<StringType Self>
constexpr auto begin (this Self const &self) noexcept -> typename Self::ConstIterator
template<StringType Self>
constexpr auto end (this Self const &self) noexcept -> typename Self::ConstIterator
template<StringType Self>
constexpr auto rbegin (this Self const &self) noexcept -> typename Self::ConstReverseIterator
template<StringType Self>
constexpr auto rend (this Self const &self) noexcept -> typename Self::ConstReverseIterator
template<StringType Self>
constexpr auto operator[] (this Self const &self, ice::nindex index) noexcept -> typename Self::ValueType
template<StringType Self>
constexpr bool operator== (this Self const &self, typename Self::StringType const &other) noexcept
template<StringType Self>
constexpr auto meminfo (this Self const &self) noexcept -> ice::meminfo

Public Attributes

ValueType_data = nullptr
SizeType::base_type _count = 0

Member Typedef Documentation

◆ CharType

template<typename CharT>
using ice::BasicString< CharT >::CharType = CharT

◆ ConstIterator

template<typename CharT>
using ice::BasicString< CharT >::ConstIterator = ValueType*

◆ ConstReverseIterator

template<typename CharT>
using ice::BasicString< CharT >::ConstReverseIterator = std::reverse_iterator<ValueType*>

◆ Iterator

template<typename CharT>
using ice::BasicString< CharT >::Iterator = ConstIterator

◆ ReverseIterator

template<typename CharT>
using ice::BasicString< CharT >::ReverseIterator = ConstReverseIterator

◆ SizeType

template<typename CharT>
using ice::BasicString< CharT >::SizeType = ice::ncount

◆ StringType

template<typename CharT>
using ice::BasicString< CharT >::StringType = ice::BasicString<CharType>

◆ ValueType

template<typename CharT>
using ice::BasicString< CharT >::ValueType = CharType const

Constructor & Destructor Documentation

◆ BasicString() [1/6]

template<typename CharT>
ice::BasicString< CharT >::BasicString ( )
constexprdefaultnoexcept

◆ BasicString() [2/6]

template<typename CharT>
ice::BasicString< CharT >::BasicString ( ValueType * ptr_array_nt)
inlineconstexprnoexcept

◆ BasicString() [3/6]

template<typename CharT>
ice::BasicString< CharT >::BasicString ( ValueType * ptr_array,
ice::ncount count )
inlineconstexprnoexcept

◆ BasicString() [4/6]

template<typename CharT>
ice::BasicString< CharT >::BasicString ( ValueType * ptr_array_begin,
ValueType * ptr_array_end )
inlineconstexprnoexcept

◆ BasicString() [5/6]

template<typename CharT>
template<ice::u64 Size>
ice::BasicString< CharT >::BasicString ( ValueType(&) char_array[Size])
inlineconstexprnoexcept

◆ BasicString() [6/6]

template<typename CharT>
ice::BasicString< CharT >::BasicString ( std::basic_string_view< CharType > string_view)
inlineconstexprnoexcept

Member Function Documentation

◆ data()

template<typename CharT>
auto ice::BasicString< CharT >::data ( ) const -> ValueType *
inlineconstexprnoexcept

◆ data_view()

template<typename CharT>
requires ice::concepts::SupportedCharType<CharT>
auto ice::BasicString< CharT >::data_view ( ) const -> ice::Data
constexprnoexcept

◆ operator std::basic_string_view< CharType >()

template<typename CharT>
ice::BasicString< CharT >::operator std::basic_string_view< CharType > ( ) const
inlineconstexprnoexcept

◆ size()

template<typename CharT>
auto ice::BasicString< CharT >::size ( ) const -> SizeType
inlineconstexprnoexcept

Member Data Documentation

◆ _count

template<typename CharT>
SizeType::base_type ice::BasicString< CharT >::_count = 0

◆ _data

template<typename CharT>
ValueType* ice::BasicString< CharT >::_data = nullptr

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