di 0.1.0
Loading...
Searching...
No Matches
di::container::string::StringImpl< Enc, Vec > Class Template Reference

#include <di/container/string/string_impl.h>

Inheritance diagram for di::container::string::StringImpl< Enc, Vec >:
di::container::string::MutableStringInterface< StringImpl< Enc, Vec >, Enc > di::container::string::ConstantStringInterface< StringImpl< Enc, Vec >, Enc >

Public Types

using Encoding = Enc
using CodeUnit = meta::EncodingCodeUnit<Enc>
using CodePoint = meta::EncodingCodePoint<Enc>
using Iterator = meta::EncodingIterator<Enc>
using Value = CodeUnit
using ConstValue = CodeUnit const

Public Member Functions

 StringImpl ()=default
constexpr auto span ()
constexpr auto span () const
constexpr auto encoding () const -> Enc
constexpr auto capacity () const
constexpr auto max_size () const
constexpr auto reserve_from_nothing (usize n)
constexpr auto assume_size (usize n)
constexpr auto grow_capacity (usize min_capacity) const
constexpr auto take_underlying_vector () &&
Public Member Functions inherited from di::container::string::MutableStringInterface< StringImpl< Enc, Vec >, Enc >
constexpr auto clone () const
constexpr void clear ()
constexpr auto operator[] (usize index) -> CodePoint &requires(encoding::Contiguous< Enc >)
constexpr auto at (usize index)
constexpr auto c_str () const
constexpr auto push_back (CodePoint code_point)
constexpr auto erase (Iterator first)
constexpr auto append (Con &&container) -> decltype(auto)
constexpr auto operator+= (Con &&container) -> decltype(auto)
constexpr auto pop_back ()
constexpr auto insert (Iterator it, CodePoint code_point)
constexpr auto replace (Iterator first, Iterator last, CodePoint code_point)
Public Member Functions inherited from di::container::string::ConstantStringInterface< StringImpl< Enc, Vec >, Enc >
constexpr auto size () const -> usize requires(encoding::Contiguous< Enc >)
constexpr auto operator[] (usize index) const -> CodePoint requires(encoding::Contiguous< Enc >)
constexpr auto at (usize index) const -> Optional< CodePoint > requires(encoding::Contiguous< Enc >)
constexpr auto size_bytes () const -> usize
constexpr auto size_code_units () const -> usize
constexpr auto empty () const -> bool
constexpr auto data () const
constexpr auto begin () const
constexpr auto end () const
constexpr auto front () const
constexpr auto back () const
constexpr auto starts_with (CodePoint code_point) const -> bool
constexpr auto ends_with (CodePoint code_point) const -> bool
constexpr auto contains (CodePoint code_point) const -> bool
constexpr auto substr (Iterator first, Optional< Iterator > last={}) const
constexpr auto find (CodePoint code_point) const
constexpr auto rfind (CodePoint code_point) const
constexpr auto find_first_of (CodePoint code_point) const
constexpr auto find_first_not_of (CodePoint code_point) const
constexpr auto find_last_of (CodePoint code_point) const
constexpr auto find_last_not_of (CodePoint code_point) const
constexpr auto view () const
constexpr auto iterator_at_offset (usize index) const
constexpr auto unicode_code_points () const

Friends

constexpr friend auto tag_invoke (types::Tag< util::create_in_place >, InPlaceType< StringImpl >, Vec &&storage)
template<concepts::SameAs< types::Tag< into_erased_string > > T, concepts::SameAs< StringImpl > S>
requires (concepts::SameAs<Enc, Utf8Encoding>)
constexpr friend auto tag_invoke (T, S self) -> ErasedString

Member Typedef Documentation

◆ CodePoint

template<concepts::Encoding Enc, concepts::detail::MutableVector Vec>
using di::container::string::StringImpl< Enc, Vec >::CodePoint = meta::EncodingCodePoint<Enc>

◆ CodeUnit

template<concepts::Encoding Enc, concepts::detail::MutableVector Vec>
using di::container::string::StringImpl< Enc, Vec >::CodeUnit = meta::EncodingCodeUnit<Enc>

◆ ConstValue

template<concepts::Encoding Enc, concepts::detail::MutableVector Vec>
using di::container::string::StringImpl< Enc, Vec >::ConstValue = CodeUnit const

◆ Encoding

template<concepts::Encoding Enc, concepts::detail::MutableVector Vec>
using di::container::string::StringImpl< Enc, Vec >::Encoding = Enc

◆ Iterator

template<concepts::Encoding Enc, concepts::detail::MutableVector Vec>
using di::container::string::StringImpl< Enc, Vec >::Iterator = meta::EncodingIterator<Enc>

◆ Value

template<concepts::Encoding Enc, concepts::detail::MutableVector Vec>
using di::container::string::StringImpl< Enc, Vec >::Value = CodeUnit

Constructor & Destructor Documentation

◆ StringImpl()

template<concepts::Encoding Enc, concepts::detail::MutableVector Vec>
di::container::string::StringImpl< Enc, Vec >::StringImpl ( )
default

Member Function Documentation

◆ assume_size()

template<concepts::Encoding Enc, concepts::detail::MutableVector Vec>
auto di::container::string::StringImpl< Enc, Vec >::assume_size ( usize n)
inlineconstexpr

◆ capacity()

template<concepts::Encoding Enc, concepts::detail::MutableVector Vec>
auto di::container::string::StringImpl< Enc, Vec >::capacity ( ) const
inlineconstexpr

◆ encoding()

template<concepts::Encoding Enc, concepts::detail::MutableVector Vec>
auto di::container::string::StringImpl< Enc, Vec >::encoding ( ) const->Enc
inlineconstexpr

◆ grow_capacity()

template<concepts::Encoding Enc, concepts::detail::MutableVector Vec>
auto di::container::string::StringImpl< Enc, Vec >::grow_capacity ( usize min_capacity) const
inlineconstexpr

◆ max_size()

template<concepts::Encoding Enc, concepts::detail::MutableVector Vec>
auto di::container::string::StringImpl< Enc, Vec >::max_size ( ) const
inlineconstexpr

◆ reserve_from_nothing()

template<concepts::Encoding Enc, concepts::detail::MutableVector Vec>
auto di::container::string::StringImpl< Enc, Vec >::reserve_from_nothing ( usize n)
inlineconstexpr

◆ span() [1/2]

template<concepts::Encoding Enc, concepts::detail::MutableVector Vec>
auto di::container::string::StringImpl< Enc, Vec >::span ( )
inlineconstexpr

◆ span() [2/2]

template<concepts::Encoding Enc, concepts::detail::MutableVector Vec>
auto di::container::string::StringImpl< Enc, Vec >::span ( ) const
inlineconstexpr

◆ take_underlying_vector()

template<concepts::Encoding Enc, concepts::detail::MutableVector Vec>
auto di::container::string::StringImpl< Enc, Vec >::take_underlying_vector ( ) &&
inlineconstexpr

◆ tag_invoke [1/2]

template<concepts::Encoding Enc, concepts::detail::MutableVector Vec>
template<concepts::SameAs< types::Tag< into_erased_string > > T, concepts::SameAs< StringImpl > S>
requires (concepts::SameAs<Enc, Utf8Encoding>)
friend auto tag_invoke ( T ,
S self )->ErasedString
friend

◆ tag_invoke [2/2]

template<concepts::Encoding Enc, concepts::detail::MutableVector Vec>
friend auto tag_invoke ( types::Tag< util::create_in_place > ,
InPlaceType< StringImpl< Enc, Vec > > ,
Vec && storage )
friend

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