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

#include <ice/heap_varstring.hxx>

Inheritance diagram for ice::HeapVarString< CharT >:
ice::string::ResizableOperations ice::string::MutableOperations ice::string::ReadOnlyOperations

Public Types

using TypeTag = VarStringTag
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 HeapVarString (ice::Allocator &alloc) noexcept
constexpr HeapVarString (ice::Allocator &allocator, ice::BasicString< CharType > string) noexcept
constexpr ~HeapVarString () noexcept
constexpr HeapVarString (HeapVarString &&other) noexcept
constexpr HeapVarString (HeapVarString const &other) noexcept
constexpr auto data () const noexcept -> ValueType *
constexpr auto size () const noexcept -> SizeType
constexpr void clear () noexcept
constexpr auto deserialize (ice::Data data) noexcept -> ice::Data
constexpr auto data_view () const noexcept -> ice::Data
constexpr operator ice::BasicString< CharType > () const noexcept
constexpr operator ice::VarStringBase< CharType > () const noexcept
Public Member Functions inherited from ice::string::ResizableOperations
template<ResizableStringType Self>
void shrink (this Self &self) noexcept
template<ResizableStringType Self>
void reserve (this Self &self, ice::ncount min_capacity) noexcept
template<ResizableStringType Self>
void grow (this Self &self, ice::ncount min_capacity=ncount_none) noexcept
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

ice::Allocator_allocator
ValueType_data

Member Typedef Documentation

◆ CharType

template<typename CharT = char>
using ice::HeapVarString< CharT >::CharType = CharT

◆ ConstIterator

template<typename CharT = char>
using ice::HeapVarString< CharT >::ConstIterator = CharType const*

◆ ConstReverseIterator

template<typename CharT = char>
using ice::HeapVarString< CharT >::ConstReverseIterator = std::reverse_iterator<CharType const*>

◆ Iterator

template<typename CharT = char>
using ice::HeapVarString< CharT >::Iterator = CharType*

◆ ReverseIterator

template<typename CharT = char>
using ice::HeapVarString< CharT >::ReverseIterator = std::reverse_iterator<CharType*>

◆ SizeType

template<typename CharT = char>
using ice::HeapVarString< CharT >::SizeType = ice::ncount

◆ StringType

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

◆ TypeTag

template<typename CharT = char>
using ice::HeapVarString< CharT >::TypeTag = VarStringTag

◆ ValueType

template<typename CharT = char>
using ice::HeapVarString< CharT >::ValueType = CharType

Constructor & Destructor Documentation

◆ HeapVarString() [1/4]

template<typename CharT>
ice::HeapVarString< CharT >::HeapVarString ( ice::Allocator & alloc)
inlineexplicitconstexprnoexcept

◆ HeapVarString() [2/4]

template<typename CharT>
ice::HeapVarString< CharT >::HeapVarString ( ice::Allocator & allocator,
ice::BasicString< CharType > string )
inlineconstexprnoexcept

◆ ~HeapVarString()

template<typename CharT>
ice::HeapVarString< CharT >::~HeapVarString ( )
inlineconstexprnoexcept

◆ HeapVarString() [3/4]

template<typename CharT>
ice::HeapVarString< CharT >::HeapVarString ( HeapVarString< CharT > && other)
inlineconstexprnoexcept

◆ HeapVarString() [4/4]

template<typename CharT>
ice::HeapVarString< CharT >::HeapVarString ( HeapVarString< CharT > const & other)
inlineconstexprnoexcept

Member Function Documentation

◆ clear()

template<typename CharT>
void ice::HeapVarString< CharT >::clear ( )
inlineconstexprnoexcept

◆ data()

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

◆ data_view()

template<typename CharT>
auto ice::HeapVarString< CharT >::data_view ( ) const -> ice::Data
inlineconstexprnoexcept

◆ deserialize()

template<typename CharT>
auto ice::HeapVarString< CharT >::deserialize ( ice::Data data) -> ice::Data
inlineconstexprnoexcept

◆ operator ice::BasicString< CharType >()

template<typename CharT = char>
ice::HeapVarString< CharT >::operator ice::BasicString< CharType > ( ) const
constexprnoexcept

◆ operator ice::VarStringBase< CharType >()

template<typename CharT = char>
ice::HeapVarString< CharT >::operator ice::VarStringBase< CharType > ( ) const
constexprnoexcept

◆ size()

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

Member Data Documentation

◆ _allocator

template<typename CharT = char>
ice::Allocator* ice::HeapVarString< CharT >::_allocator

◆ _data

template<typename CharT = char>
ValueType* ice::HeapVarString< CharT >::_data

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