Iros
 
Loading...
Searching...
No Matches
di::container::string::StringViewImpl< Enc > Class Template Reference

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

Inheritance diagram for di::container::string::StringViewImpl< Enc >:
[legend]

Public Types

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

Public Member Functions

 StringViewImpl ()=default
 
 StringViewImpl (StringViewImpl const &)=default
 
constexpr StringViewImpl (Iterator begin, Iterator end, Enc encoding={})
 
template<concepts::detail::ConstantString Other>
requires (!concepts::RemoveCVRefSameAs<StringViewImpl, Other> && concepts::SameAs<meta::Encoding<Other>, Enc> && concepts::BorrowedContainer<Other>)
constexpr StringViewImpl (Other &&other)
 
constexpr StringViewImpl (CodeUnit const *data, size_t count, Enc encoding={})
 
template<concepts::ContiguousIterator It, concepts::SizedSentinelFor< It > Sent>
requires (!concepts::SameAs<It, Iterator> && concepts::SameAs<meta::IteratorValue<It>, CodeUnit> && !concepts::ConvertibleTo<Sent, size_t> && encoding::Universal<Enc>)
constexpr StringViewImpl (It it, Sent sent, Enc encoding={})
 
template<concepts::ContiguousContainer Con>
requires (!concepts::RemoveCVRefSameAs<StringViewImpl, Con> && (!concepts::detail::ConstantString<Con> || !concepts::SameAs<meta::Encoding<Con>, Enc>) && concepts::SizedContainer<Con> && concepts::ContainerOf<Con, CodeUnit> && concepts::BorrowedContainer<Con> && encoding::Universal<Enc>)
constexpr StringViewImpl (Con &&container, Enc encoding={})
 
constexpr StringViewImpl (encoding::AssumeValid, CodeUnit const *data, size_t count, Enc encoding={})
 
template<concepts::ContiguousIterator It, concepts::SizedSentinelFor< It > Sent>
requires (concepts::SameAs<meta::IteratorValue<It>, CodeUnit> && !concepts::ConvertibleTo<Sent, size_t>)
constexpr StringViewImpl (encoding::AssumeValid, It it, Sent sent, Enc encoding={})
 
template<concepts::ContiguousContainer Con>
requires (concepts::SizedContainer<Con> && concepts::ContainerOf<Con, CodeUnit> && concepts::BorrowedContainer<Con>)
constexpr StringViewImpl (encoding::AssumeValid, Con &&container, Enc encoding={})
 
auto operator= (StringViewImpl const &) -> StringViewImpl &=default
 
constexpr auto span () const
 
constexpr auto encoding () const -> Enc
 
constexpr void replace_begin (Iterator new_begin)
 
constexpr void replace_end (Iterator new_end)
 
- Public Member Functions inherited from di::container::string::ConstantStringInterface< StringViewImpl< Enc >, 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
 
- Public Member Functions inherited from di::util::OwnedType< StringViewImpl< Enc >, StringImpl< Enc > >
constexpr auto to_owned () const
 

Friends

template<concepts::SameAs< types::Tag< into_erased_string > > T, concepts::SameAs< StringViewImpl > S>
requires (concepts::SameAs<Enc, Utf8Encoding>)
constexpr friend auto tag_invoke (T, S self) -> ErasedString
 

Member Typedef Documentation

◆ CodePoint

template<concepts::Encoding Enc>
using di::container::string::StringViewImpl< Enc >::CodePoint = meta::EncodingCodePoint<Enc>

◆ CodeUnit

template<concepts::Encoding Enc>
using di::container::string::StringViewImpl< Enc >::CodeUnit = meta::EncodingCodeUnit<Enc>

◆ Encoding

template<concepts::Encoding Enc>
using di::container::string::StringViewImpl< Enc >::Encoding = Enc

◆ Iterator

template<concepts::Encoding Enc>
using di::container::string::StringViewImpl< Enc >::Iterator = meta::EncodingIterator<Enc>

Constructor & Destructor Documentation

◆ StringViewImpl() [1/10]

template<concepts::Encoding Enc>
di::container::string::StringViewImpl< Enc >::StringViewImpl ( )
default

◆ StringViewImpl() [2/10]

template<concepts::Encoding Enc>
di::container::string::StringViewImpl< Enc >::StringViewImpl ( StringViewImpl< Enc > const & )
default

◆ StringViewImpl() [3/10]

template<concepts::Encoding Enc>
di::container::string::StringViewImpl< Enc >::StringViewImpl ( Iterator begin,
Iterator end,
Enc encoding = {} )
inlineconstexpr

◆ StringViewImpl() [4/10]

template<concepts::Encoding Enc>
template<concepts::detail::ConstantString Other>
requires (!concepts::RemoveCVRefSameAs<StringViewImpl, Other> && concepts::SameAs<meta::Encoding<Other>, Enc> && concepts::BorrowedContainer<Other>)
di::container::string::StringViewImpl< Enc >::StringViewImpl ( Other && other)
inlineconstexpr

◆ StringViewImpl() [5/10]

template<concepts::Encoding Enc>
di::container::string::StringViewImpl< Enc >::StringViewImpl ( CodeUnit const * data,
size_t count,
Enc encoding = {} )
inlineconstexpr

◆ StringViewImpl() [6/10]

template<concepts::Encoding Enc>
template<concepts::ContiguousIterator It, concepts::SizedSentinelFor< It > Sent>
requires (!concepts::SameAs<It, Iterator> && concepts::SameAs<meta::IteratorValue<It>, CodeUnit> && !concepts::ConvertibleTo<Sent, size_t> && encoding::Universal<Enc>)
di::container::string::StringViewImpl< Enc >::StringViewImpl ( It it,
Sent sent,
Enc encoding = {} )
inlineconstexpr

◆ StringViewImpl() [7/10]

template<concepts::Encoding Enc>
template<concepts::ContiguousContainer Con>
requires (!concepts::RemoveCVRefSameAs<StringViewImpl, Con> && (!concepts::detail::ConstantString<Con> || !concepts::SameAs<meta::Encoding<Con>, Enc>) && concepts::SizedContainer<Con> && concepts::ContainerOf<Con, CodeUnit> && concepts::BorrowedContainer<Con> && encoding::Universal<Enc>)
di::container::string::StringViewImpl< Enc >::StringViewImpl ( Con && container,
Enc encoding = {} )
inlineconstexpr

◆ StringViewImpl() [8/10]

template<concepts::Encoding Enc>
di::container::string::StringViewImpl< Enc >::StringViewImpl ( encoding::AssumeValid ,
CodeUnit const * data,
size_t count,
Enc encoding = {} )
inlineconstexpr

◆ StringViewImpl() [9/10]

template<concepts::Encoding Enc>
template<concepts::ContiguousIterator It, concepts::SizedSentinelFor< It > Sent>
requires (concepts::SameAs<meta::IteratorValue<It>, CodeUnit> && !concepts::ConvertibleTo<Sent, size_t>)
di::container::string::StringViewImpl< Enc >::StringViewImpl ( encoding::AssumeValid ,
It it,
Sent sent,
Enc encoding = {} )
inlineconstexpr

◆ StringViewImpl() [10/10]

template<concepts::Encoding Enc>
template<concepts::ContiguousContainer Con>
requires (concepts::SizedContainer<Con> && concepts::ContainerOf<Con, CodeUnit> && concepts::BorrowedContainer<Con>)
di::container::string::StringViewImpl< Enc >::StringViewImpl ( encoding::AssumeValid ,
Con && container,
Enc encoding = {} )
inlineconstexpr

Member Function Documentation

◆ encoding()

template<concepts::Encoding Enc>
auto di::container::string::StringViewImpl< Enc >::encoding ( ) const -> Enc
inlineconstexpr

◆ operator=()

template<concepts::Encoding Enc>
auto di::container::string::StringViewImpl< Enc >::operator= ( StringViewImpl< Enc > const & ) -> StringViewImpl &=default
default

◆ replace_begin()

template<concepts::Encoding Enc>
void di::container::string::StringViewImpl< Enc >::replace_begin ( Iterator new_begin)
inlineconstexpr

◆ replace_end()

template<concepts::Encoding Enc>
void di::container::string::StringViewImpl< Enc >::replace_end ( Iterator new_end)
inlineconstexpr

◆ span()

template<concepts::Encoding Enc>
auto di::container::string::StringViewImpl< Enc >::span ( ) const
inlineconstexpr

Friends And Related Symbol Documentation

◆ tag_invoke

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

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