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

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

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

Public Member Functions

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::detail::ConstantString Other>
requires (concepts::SameAs<Enc, meta::Encoding<Other>>)
constexpr friend auto operator== (Self const &a, Other const &b) -> bool
template<concepts::detail::ConstantString Other>
requires (concepts::SameAs<Enc, meta::Encoding<Other>>)
constexpr friend auto operator<=> (Self const &a, Other const &b)
constexpr friend auto tag_invoke (types::Tag< container::reconstruct >, InPlaceType< Self >, Iterator first, Iterator last) -> StringViewImpl< Enc >

Member Function Documentation

◆ at()

template<typename Self, concepts::Encoding Enc>
auto di::container::string::ConstantStringInterface< Self, Enc >::at ( usize index) const->Optional< CodePoint >requires(encoding::Contiguous< Enc >)
inlineconstexpr

◆ back()

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

◆ begin()

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

◆ contains() [1/2]

template<typename Self, concepts::Encoding Enc>
auto di::container::string::ConstantStringInterface< Self, Enc >::contains ( CodePoint code_point) const->bool
inlineconstexpr

◆ contains() [2/2]

template<typename Self, concepts::Encoding Enc>
template<concepts::ContainerCompatible< CodePoint > Con>
requires (concepts::SameAs<meta::Encoding<Con>, Enc> && concepts::ForwardContainer<Con>)
auto di::container::string::ConstantStringInterface< Self, Enc >::contains ( Con && container) const->bool
inlineconstexpr

◆ data()

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

◆ empty()

template<typename Self, concepts::Encoding Enc>
auto di::container::string::ConstantStringInterface< Self, Enc >::empty ( ) const->bool
inlineconstexpr

◆ end()

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

◆ ends_with() [1/2]

template<typename Self, concepts::Encoding Enc>
auto di::container::string::ConstantStringInterface< Self, Enc >::ends_with ( CodePoint code_point) const->bool
inlineconstexpr

◆ ends_with() [2/2]

template<typename Self, concepts::Encoding Enc>
template<concepts::ContainerCompatible< CodePoint > Con>
requires (concepts::SameAs<meta::Encoding<Con>, Enc>)
auto di::container::string::ConstantStringInterface< Self, Enc >::ends_with ( Con && container) const->bool
inlineconstexpr

◆ find() [1/2]

template<typename Self, concepts::Encoding Enc>
auto di::container::string::ConstantStringInterface< Self, Enc >::find ( CodePoint code_point) const
inlineconstexpr

◆ find() [2/2]

template<typename Self, concepts::Encoding Enc>
template<concepts::ContainerCompatible< CodePoint > Con>
requires (concepts::SameAs<meta::Encoding<Con>, Enc> && concepts::ForwardContainer<Con>)
auto di::container::string::ConstantStringInterface< Self, Enc >::find ( Con && container) const
inlineconstexpr

◆ find_first_not_of() [1/2]

template<typename Self, concepts::Encoding Enc>
auto di::container::string::ConstantStringInterface< Self, Enc >::find_first_not_of ( CodePoint code_point) const
inlineconstexpr

◆ find_first_not_of() [2/2]

template<typename Self, concepts::Encoding Enc>
template<concepts::ContainerCompatible< CodePoint > Con>
requires (concepts::SameAs<meta::Encoding<Con>, Enc> && concepts::ForwardContainer<Con>)
auto di::container::string::ConstantStringInterface< Self, Enc >::find_first_not_of ( Con && container) const
inlineconstexpr

◆ find_first_of() [1/2]

template<typename Self, concepts::Encoding Enc>
auto di::container::string::ConstantStringInterface< Self, Enc >::find_first_of ( CodePoint code_point) const
inlineconstexpr

◆ find_first_of() [2/2]

template<typename Self, concepts::Encoding Enc>
template<concepts::ContainerCompatible< CodePoint > Con>
requires (concepts::SameAs<meta::Encoding<Con>, Enc> && concepts::ForwardContainer<Con>)
auto di::container::string::ConstantStringInterface< Self, Enc >::find_first_of ( Con && container) const
inlineconstexpr

◆ find_last_not_of() [1/2]

template<typename Self, concepts::Encoding Enc>
auto di::container::string::ConstantStringInterface< Self, Enc >::find_last_not_of ( CodePoint code_point) const
inlineconstexpr

◆ find_last_not_of() [2/2]

template<typename Self, concepts::Encoding Enc>
template<concepts::ContainerCompatible< CodePoint > Con>
requires (concepts::SameAs<meta::Encoding<Con>, Enc> && concepts::ForwardContainer<Con>)
auto di::container::string::ConstantStringInterface< Self, Enc >::find_last_not_of ( Con && container) const
inlineconstexpr

◆ find_last_of() [1/2]

template<typename Self, concepts::Encoding Enc>
auto di::container::string::ConstantStringInterface< Self, Enc >::find_last_of ( CodePoint code_point) const
inlineconstexpr

◆ find_last_of() [2/2]

template<typename Self, concepts::Encoding Enc>
template<concepts::ContainerCompatible< CodePoint > Con>
requires (concepts::SameAs<meta::Encoding<Con>, Enc> && concepts::ForwardContainer<Con>)
auto di::container::string::ConstantStringInterface< Self, Enc >::find_last_of ( Con && container) const
inlineconstexpr

◆ front()

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

◆ iterator_at_offset()

template<typename Self, concepts::Encoding Enc>
auto di::container::string::ConstantStringInterface< Self, Enc >::iterator_at_offset ( usize index) const
inlineconstexpr

◆ operator[]()

template<typename Self, concepts::Encoding Enc>
auto di::container::string::ConstantStringInterface< Self, Enc >::operator[] ( usize index) const->CodePointrequires(encoding::Contiguous< Enc >)
inlineconstexpr

◆ rfind() [1/2]

template<typename Self, concepts::Encoding Enc>
auto di::container::string::ConstantStringInterface< Self, Enc >::rfind ( CodePoint code_point) const
inlineconstexpr

◆ rfind() [2/2]

template<typename Self, concepts::Encoding Enc>
template<concepts::ContainerCompatible< CodePoint > Con>
requires (concepts::SameAs<meta::Encoding<Con>, Enc> && concepts::ForwardContainer<Con>)
auto di::container::string::ConstantStringInterface< Self, Enc >::rfind ( Con && container) const
inlineconstexpr

◆ size()

template<typename Self, concepts::Encoding Enc>
auto di::container::string::ConstantStringInterface< Self, Enc >::size ( ) const->usizerequires(encoding::Contiguous< Enc >)
inlineconstexpr

◆ size_bytes()

template<typename Self, concepts::Encoding Enc>
auto di::container::string::ConstantStringInterface< Self, Enc >::size_bytes ( ) const->usize
inlineconstexpr

◆ size_code_units()

template<typename Self, concepts::Encoding Enc>
auto di::container::string::ConstantStringInterface< Self, Enc >::size_code_units ( ) const->usize
inlineconstexpr

◆ starts_with() [1/2]

template<typename Self, concepts::Encoding Enc>
auto di::container::string::ConstantStringInterface< Self, Enc >::starts_with ( CodePoint code_point) const->bool
inlineconstexpr

◆ starts_with() [2/2]

template<typename Self, concepts::Encoding Enc>
template<concepts::ContainerCompatible< CodePoint > Con>
requires (concepts::SameAs<meta::Encoding<Con>, Enc>)
auto di::container::string::ConstantStringInterface< Self, Enc >::starts_with ( Con && container) const->bool
inlineconstexpr

◆ substr() [1/2]

template<typename Self, concepts::Encoding Enc>
auto di::container::string::ConstantStringInterface< Self, Enc >::substr ( Iterator first,
Optional< Iterator > last = {} ) const
inlineconstexpr

◆ substr() [2/2]

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

◆ unicode_code_points()

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

◆ view()

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

◆ operator<=>

template<typename Self, concepts::Encoding Enc>
template<concepts::detail::ConstantString Other>
requires (concepts::SameAs<Enc, meta::Encoding<Other>>)
friend auto operator<=> ( Self const & a,
Other const & b )
friend

◆ operator==

template<typename Self, concepts::Encoding Enc>
template<concepts::detail::ConstantString Other>
requires (concepts::SameAs<Enc, meta::Encoding<Other>>)
friend auto operator== ( Self const & a,
Other const & b )->bool
friend

◆ tag_invoke

template<typename Self, concepts::Encoding Enc>
friend auto tag_invoke ( types::Tag< container::reconstruct > ,
InPlaceType< Self > ,
Iterator first,
Iterator last )->StringViewImpl< Enc >
friend

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