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 erase (Iterator first, Iterator last) -> Iterator
 
constexpr auto erase (usize offset, Optional< usize > count={})
 
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 insert (usize offset, CodePoint code_point)
 
constexpr auto insert (Iterator it, Con &&container)
 
constexpr auto insert (usize offset, Con &&container)
 
constexpr auto replace (Iterator first, Iterator last, CodePoint code_point)
 
constexpr auto replace (usize offset, usize length, CodePoint code_point)
 
constexpr auto replace (Iterator first, Iterator last, Con &&container)
 
constexpr auto replace (usize offset, usize length, Con &&container)
 
- 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 starts_with (Con &&container) const -> bool
 
constexpr auto ends_with (CodePoint code_point) const -> bool
 
constexpr auto ends_with (Con &&container) const -> bool
 
constexpr auto contains (CodePoint code_point) const -> bool
 
constexpr auto contains (Con &&container) const -> bool
 
constexpr auto substr (Iterator first, Optional< Iterator > last={}) const
 
constexpr auto substr (usize offset, Optional< usize > count={}) const
 
constexpr auto find (CodePoint code_point) const
 
constexpr auto find (Con &&container) const
 
constexpr auto rfind (CodePoint code_point) const
 
constexpr auto rfind (Con &&container) const
 
constexpr auto find_first_of (CodePoint code_point) const
 
constexpr auto find_first_of (Con &&container) const
 
constexpr auto find_first_not_of (CodePoint code_point) const
 
constexpr auto find_first_not_of (Con &&container) const
 
constexpr auto find_last_of (CodePoint code_point) const
 
constexpr auto find_last_of (Con &&container) const
 
constexpr auto find_last_not_of (CodePoint code_point) const
 
constexpr auto find_last_not_of (Con &&container) 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)
 

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

Friends And Related Symbol Documentation

◆ tag_invoke

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: