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

#include <ice/static_string.hxx>

Inheritance diagram for ice::StaticString< Capacity, CharT >:
ice::string::MutableOperations ice::string::ReadOnlyOperations

Public Types

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

Public Member Functions

constexpr StaticString () noexcept
template<u32 Size>
requires ice::concepts::SupportedCharType<CharT>
constexpr StaticString (CharType const(&str_array)[Size]) noexcept
constexpr StaticString (BasicString< CharType > string) noexcept
constexpr auto operator= (StaticString const &other) noexcept -> StaticString &
constexpr auto operator= (BasicString< CharType > str) noexcept -> StaticString &
constexpr operator ice::BasicString< CharType > () const noexcept
template<typename Self>
constexpr auto data (this Self &self) noexcept
constexpr auto size () const noexcept -> SizeType
constexpr void resize (ice::ncount new_size) noexcept
constexpr auto capacity () const noexcept -> SizeType
constexpr auto data_view () const noexcept -> ice::Data
Public Member Functions inherited from ice::string::MutableOperations
template<MutableStringType Self>
void clear (this Self &self) noexcept
template<MutableStringType Self>
void push_back (this Self &self, typename Self::CharType character) noexcept
template<MutableStringType Self>
void push_back (this Self &self, typename Self::CharType const *cstr) noexcept
template<MutableStringType Self>
void push_back (this Self &self, ice::StringType auto const &other) noexcept
template<MutableStringType Self, typename... Args>
constexpr void push_format (this Self &self, fmt::format_string< Args... > format, Args &&... args) noexcept
template<MutableStringType Self>
void pop_back (this Self &self, ice::ncount count=1) noexcept
template<MutableStringType Self>
constexpr auto begin (this Self &self) noexcept -> typename Self::Iterator
template<MutableStringType Self>
constexpr auto end (this Self &self) noexcept -> typename Self::Iterator
template<MutableStringType Self>
constexpr auto rbegin (this Self &self) noexcept -> typename Self::ReverseIterator
template<MutableStringType Self>
constexpr auto rend (this Self &self) noexcept -> typename Self::ReverseIterator
template<MutableStringType Self>
constexpr auto operator[] (this Self &self, ice::nindex index) noexcept -> typename Self::ValueType &
template<MutableStringType Self>
constexpr auto memory_view (this Self &self) noexcept -> ice::Memory
template<StringType Self>
constexpr auto operator[] (this Self const &self, ice::nindex index) noexcept -> typename Self::ValueType
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

SizeType::base_type _size
ValueType _data [Capacity]

Member Typedef Documentation

◆ CharType

template<ice::u32 Capacity = 12, typename CharT = char>
using ice::StaticString< Capacity, CharT >::CharType = CharT

◆ ConstIterator

template<ice::u32 Capacity = 12, typename CharT = char>
using ice::StaticString< Capacity, CharT >::ConstIterator = CharType const*

◆ ConstReverseIterator

template<ice::u32 Capacity = 12, typename CharT = char>
using ice::StaticString< Capacity, CharT >::ConstReverseIterator = std::reverse_iterator<CharType const*>

◆ Iterator

template<ice::u32 Capacity = 12, typename CharT = char>
using ice::StaticString< Capacity, CharT >::Iterator = CharType*

◆ ReverseIterator

template<ice::u32 Capacity = 12, typename CharT = char>
using ice::StaticString< Capacity, CharT >::ReverseIterator = std::reverse_iterator<CharType*>

◆ SizeType

template<ice::u32 Capacity = 12, typename CharT = char>
using ice::StaticString< Capacity, CharT >::SizeType = ice::ncount

◆ StringType

template<ice::u32 Capacity = 12, typename CharT = char>
using ice::StaticString< Capacity, CharT >::StringType = ice::BasicString<CharType>

◆ ValueType

template<ice::u32 Capacity = 12, typename CharT = char>
using ice::StaticString< Capacity, CharT >::ValueType = CharType

Constructor & Destructor Documentation

◆ StaticString() [1/3]

template<ice::u32 Capacity, typename CharT>
requires ice::concepts::SupportedCharType<CharT>
ice::StaticString< Capacity, CharT >::StaticString ( )
constexprnoexcept

◆ StaticString() [2/3]

template<ice::u32 Capacity, typename CharT>
requires ice::concepts::SupportedCharType<CharT>
template<ice::u32 Size>
requires ice::concepts::SupportedCharType<CharT>
ice::StaticString< Capacity, CharT >::StaticString ( CharType const(&) str_array[Size])
constexprnoexcept

◆ StaticString() [3/3]

template<ice::u32 Capacity, typename CharT>
requires ice::concepts::SupportedCharType<CharT>
ice::StaticString< Capacity, CharT >::StaticString ( BasicString< CharType > string)
constexprnoexcept

Member Function Documentation

◆ capacity()

template<ice::u32 Capacity = 12, typename CharT = char>
auto ice::StaticString< Capacity, CharT >::capacity ( ) const -> SizeType
inlineconstexprnoexcept

◆ data()

template<ice::u32 Capacity = 12, typename CharT = char>
template<typename Self>
auto ice::StaticString< Capacity, CharT >::data ( this Self & self)
inlineconstexprnoexcept

◆ data_view()

template<ice::u32 Capacity, typename CharT>
requires ice::concepts::SupportedCharType<CharT>
auto ice::StaticString< Capacity, CharT >::data_view ( ) const -> ice::Data
constexprnoexcept

◆ operator ice::BasicString< CharType >()

template<ice::u32 Capacity = 12, typename CharT = char>
ice::StaticString< Capacity, CharT >::operator ice::BasicString< CharType > ( ) const
constexprnoexcept

◆ operator=() [1/2]

template<ice::u32 Capacity, typename CharT>
requires ice::concepts::SupportedCharType<CharT>
auto ice::StaticString< Capacity, CharT >::operator= ( ice::BasicString< CharType > other) -> StaticString &
constexprnoexcept

◆ operator=() [2/2]

template<ice::u32 Capacity = 12, typename CharT = char>
auto ice::StaticString< Capacity, CharT >::operator= ( StaticString< Capacity, CharT > const & other) -> StaticString &
constexprnoexcept

◆ resize()

template<ice::u32 Capacity, typename CharT>
requires ice::concepts::SupportedCharType<CharT>
void ice::StaticString< Capacity, CharT >::resize ( ice::ncount new_size)
constexprnoexcept

◆ size()

template<ice::u32 Capacity = 12, typename CharT = char>
auto ice::StaticString< Capacity, CharT >::size ( ) const -> SizeType
inlineconstexprnoexcept

Member Data Documentation

◆ _data

template<ice::u32 Capacity = 12, typename CharT = char>
ValueType ice::StaticString< Capacity, CharT >::_data[Capacity]

◆ _size

template<ice::u32 Capacity = 12, typename CharT = char>
SizeType::base_type ice::StaticString< Capacity, CharT >::_size

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