Loading [MathJax]/jax/output/HTML-CSS/config.js
Iros
 
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages Concepts
Loading...
Searching...
No Matches
di::container::string::MutableStringInterface< Self, Enc > Class Template Reference

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

Inheritance diagram for di::container::string::MutableStringInterface< Self, Enc >:
[legend]

Public Member Functions

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={})
 
template<concepts::ContainerOf< CodePoint > Con>
constexpr auto append (Con &&container) -> decltype(auto)
 
template<concepts::ContainerOf< CodePoint > Con>
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)
 
template<concepts::ContainerOf< CodePoint > Con>
constexpr auto insert (Iterator it, Con &&container)
 
template<concepts::ContainerOf< CodePoint > Con>
requires (encoding::Contiguous<Enc>)
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)
 
template<concepts::ContainerOf< CodePoint > Con>
constexpr auto replace (Iterator first, Iterator last, Con &&container)
 
template<concepts::ContainerOf< CodePoint > Con>
requires (encoding::Contiguous<Enc>)
constexpr auto replace (usize offset, usize length, Con &&container)
 
- Public Member Functions inherited from di::container::string::ConstantStringInterface< Self, 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
 
template<concepts::ContainerCompatible< CodePoint > Con>
requires (concepts::SameAs<meta::Encoding<Con>, Enc>)
constexpr auto starts_with (Con &&container) const -> bool
 
constexpr auto ends_with (CodePoint code_point) const -> bool
 
template<concepts::ContainerCompatible< CodePoint > Con>
requires (concepts::SameAs<meta::Encoding<Con>, Enc>)
constexpr auto ends_with (Con &&container) const -> bool
 
constexpr auto contains (CodePoint code_point) const -> bool
 
template<concepts::ContainerCompatible< CodePoint > Con>
requires (concepts::SameAs<meta::Encoding<Con>, Enc> && concepts::ForwardContainer<Con>)
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
 
template<concepts::ContainerCompatible< CodePoint > Con>
requires (concepts::SameAs<meta::Encoding<Con>, Enc> && concepts::ForwardContainer<Con>)
constexpr auto find (Con &&container) const
 
constexpr auto rfind (CodePoint code_point) const
 
template<concepts::ContainerCompatible< CodePoint > Con>
requires (concepts::SameAs<meta::Encoding<Con>, Enc> && concepts::ForwardContainer<Con>)
constexpr auto rfind (Con &&container) const
 
constexpr auto find_first_of (CodePoint code_point) const
 
template<concepts::ContainerCompatible< CodePoint > Con>
requires (concepts::SameAs<meta::Encoding<Con>, Enc> && concepts::ForwardContainer<Con>)
constexpr auto find_first_of (Con &&container) const
 
constexpr auto find_first_not_of (CodePoint code_point) const
 
template<concepts::ContainerCompatible< CodePoint > Con>
requires (concepts::SameAs<meta::Encoding<Con>, Enc> && concepts::ForwardContainer<Con>)
constexpr auto find_first_not_of (Con &&container) const
 
constexpr auto find_last_of (CodePoint code_point) const
 
template<concepts::ContainerCompatible< CodePoint > Con>
requires (concepts::SameAs<meta::Encoding<Con>, Enc> && concepts::ForwardContainer<Con>)
constexpr auto find_last_of (Con &&container) const
 
constexpr auto find_last_not_of (CodePoint code_point) const
 
template<concepts::ContainerCompatible< CodePoint > Con>
requires (concepts::SameAs<meta::Encoding<Con>, Enc> && concepts::ForwardContainer<Con>)
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

template<concepts::InputContainer Con, typename... Args>
requires (concepts::ContainerOf<Con, CodeUnit> && concepts::ConstructibleFrom<Self, Args...>)
constexpr friend auto tag_invoke (types::Tag< util::create_in_place >, InPlaceType< Self >, Con &&container, encoding::AssumeValid, Args &&... args)
 
template<concepts::InputContainer Con, typename... Args>
requires (!SameAs<CodeUnit, CodePoint> && concepts::ContainerOf<Con, CodeUnit> && concepts::ConstructibleFrom<Self, Args...>)
constexpr friend auto tag_invoke (types::Tag< util::create_in_place >, InPlaceType< Self >, Con &&container, Args &&... args)
 
template<concepts::InputContainer Con, typename... Args>
requires (concepts::ContainerOf<Con, CodePoint> && concepts::ConstructibleFrom<Self, Args...>)
constexpr friend auto tag_invoke (types::Tag< util::create_in_place >, InPlaceType< Self >, Con &&container, Args &&... args)
 
template<typename F, SameAs< Tag< erase_if > > T = Tag<erase_if>>
requires (concepts::Predicate<F, CodePoint const&>)
constexpr friend auto tag_invoke (T, Self &self, F &&function)
 

Member Function Documentation

◆ append()

template<typename Self, concepts::Encoding Enc>
template<concepts::ContainerOf< CodePoint > Con>
auto di::container::string::MutableStringInterface< Self, Enc >::append ( Con && container) -> decltype(auto)
inlineconstexpr

◆ at()

template<typename Self, concepts::Encoding Enc>
auto di::container::string::MutableStringInterface< Self, Enc >::at ( usize index)
inlineconstexpr

◆ c_str()

template<typename Self, concepts::Encoding Enc>
auto di::container::string::MutableStringInterface< Self, Enc >::c_str ( ) const
inlineconstexpr

◆ clear()

template<typename Self, concepts::Encoding Enc>
void di::container::string::MutableStringInterface< Self, Enc >::clear ( )
inlineconstexpr

◆ erase() [1/3]

template<typename Self, concepts::Encoding Enc>
auto di::container::string::MutableStringInterface< Self, Enc >::erase ( Iterator first)
inlineconstexpr

◆ erase() [2/3]

template<typename Self, concepts::Encoding Enc>
auto di::container::string::MutableStringInterface< Self, Enc >::erase ( Iterator first,
Iterator last ) -> Iterator
inlineconstexpr

◆ erase() [3/3]

template<typename Self, concepts::Encoding Enc>
auto di::container::string::MutableStringInterface< Self, Enc >::erase ( usize offset,
Optional< usize > count = {} )
inlineconstexpr

◆ insert() [1/4]

template<typename Self, concepts::Encoding Enc>
auto di::container::string::MutableStringInterface< Self, Enc >::insert ( Iterator it,
CodePoint code_point )
inlineconstexpr

◆ insert() [2/4]

template<typename Self, concepts::Encoding Enc>
template<concepts::ContainerOf< CodePoint > Con>
auto di::container::string::MutableStringInterface< Self, Enc >::insert ( Iterator it,
Con && container )
inlineconstexpr

◆ insert() [3/4]

template<typename Self, concepts::Encoding Enc>
auto di::container::string::MutableStringInterface< Self, Enc >::insert ( usize offset,
CodePoint code_point )
inlineconstexpr

◆ insert() [4/4]

template<typename Self, concepts::Encoding Enc>
template<concepts::ContainerOf< CodePoint > Con>
requires (encoding::Contiguous<Enc>)
auto di::container::string::MutableStringInterface< Self, Enc >::insert ( usize offset,
Con && container )
inlineconstexpr

◆ operator+=()

template<typename Self, concepts::Encoding Enc>
template<concepts::ContainerOf< CodePoint > Con>
auto di::container::string::MutableStringInterface< Self, Enc >::operator+= ( Con && container) -> decltype(auto)
inlineconstexpr

◆ operator[]()

template<typename Self, concepts::Encoding Enc>
auto di::container::string::MutableStringInterface< Self, Enc >::operator[] ( usize index) -> CodePoint& requires(encoding::Contiguous<Enc>)
inlineconstexpr

◆ pop_back()

template<typename Self, concepts::Encoding Enc>
auto di::container::string::MutableStringInterface< Self, Enc >::pop_back ( )
inlineconstexpr

◆ push_back()

template<typename Self, concepts::Encoding Enc>
auto di::container::string::MutableStringInterface< Self, Enc >::push_back ( CodePoint code_point)
inlineconstexpr

◆ replace() [1/4]

template<typename Self, concepts::Encoding Enc>
auto di::container::string::MutableStringInterface< Self, Enc >::replace ( Iterator first,
Iterator last,
CodePoint code_point )
inlineconstexpr

◆ replace() [2/4]

template<typename Self, concepts::Encoding Enc>
template<concepts::ContainerOf< CodePoint > Con>
auto di::container::string::MutableStringInterface< Self, Enc >::replace ( Iterator first,
Iterator last,
Con && container )
inlineconstexpr

◆ replace() [3/4]

template<typename Self, concepts::Encoding Enc>
auto di::container::string::MutableStringInterface< Self, Enc >::replace ( usize offset,
usize length,
CodePoint code_point )
inlineconstexpr

◆ replace() [4/4]

template<typename Self, concepts::Encoding Enc>
template<concepts::ContainerOf< CodePoint > Con>
requires (encoding::Contiguous<Enc>)
auto di::container::string::MutableStringInterface< Self, Enc >::replace ( usize offset,
usize length,
Con && container )
inlineconstexpr

Friends And Related Symbol Documentation

◆ tag_invoke [1/4]

template<typename Self, concepts::Encoding Enc>
template<typename F, SameAs< Tag< erase_if > > T = Tag<erase_if>>
requires (concepts::Predicate<F, CodePoint const&>)
friend auto tag_invoke ( T ,
Self & self,
F && function )
friend

◆ tag_invoke [2/4]

template<typename Self, concepts::Encoding Enc>
template<concepts::InputContainer Con, typename... Args>
requires (!SameAs<CodeUnit, CodePoint> && concepts::ContainerOf<Con, CodeUnit> && concepts::ConstructibleFrom<Self, Args...>)
friend auto tag_invoke ( types::Tag< util::create_in_place > ,
InPlaceType< Self > ,
Con && container,
Args &&... args )
friend

◆ tag_invoke [3/4]

template<typename Self, concepts::Encoding Enc>
template<concepts::InputContainer Con, typename... Args>
requires (concepts::ContainerOf<Con, CodePoint> && concepts::ConstructibleFrom<Self, Args...>)
friend auto tag_invoke ( types::Tag< util::create_in_place > ,
InPlaceType< Self > ,
Con && container,
Args &&... args )
friend

◆ tag_invoke [4/4]

template<typename Self, concepts::Encoding Enc>
template<concepts::InputContainer Con, typename... Args>
requires (concepts::ContainerOf<Con, CodeUnit> && concepts::ConstructibleFrom<Self, Args...>)
friend auto tag_invoke ( types::Tag< util::create_in_place > ,
InPlaceType< Self > ,
Con && container,
encoding::AssumeValid ,
Args &&... args )
friend

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