di 0.1.0
Loading...
Searching...
No Matches
di::container::string Namespace Reference

Namespaces

namespace  encoding
namespace  utf8

Classes

class  ConstantStringInterface
struct  ToUtf8StringLossy
struct  ToUtf8String
struct  ToTransparentString
class  MutableStringInterface
class  StringImpl
class  StringViewImpl
struct  TransparentIterator
class  TransparentEncoding
class  Utf8Encoding

Functions

template<concepts::detail::MutableString Str, typename Enc = meta::Encoding<Str>, typename P = meta::EncodingCodePoint<Enc>, concepts::ContainerCompatible< P > Con>
constexpr auto append (Str &string, Con &&container)
constexpr auto back (concepts::detail::ConstantString auto const &string)
constexpr auto begin (concepts::detail::ConstantString auto const &string)
template<concepts::detail::MutableString Str>
constexpr void clear (Str &string)
template<concepts::detail::ConstantString S, concepts::detail::ConstantString T>
requires (concepts::SameAs<meta::Encoding<S>, meta::Encoding<T>>)
constexpr auto compare (S const &s, T const &t)
template<concepts::detail::ConstantString Str, typename Enc = meta::Encoding<Str>>
constexpr auto contains (Str const &string, meta::EncodingCodePoint< Str > code_point) -> bool
template<concepts::detail::ConstantString Str, typename Enc = meta::Encoding<Str>, concepts::ContainerCompatible< meta::EncodingCodePoint< Enc > > Con>
requires (concepts::SameAs<Enc, meta::Encoding<Con>>)
constexpr auto contains (Str const &string, Con &&container) -> bool
constexpr auto data (concepts::detail::ConstantString auto const &string)
constexpr auto empty (concepts::detail::ConstantString auto const &string) -> size_t
constexpr auto end (concepts::detail::ConstantString auto const &string)
template<concepts::detail::ConstantString Str, typename Enc = meta::Encoding<Str>>
constexpr auto ends_with (Str const &string, meta::EncodingCodePoint< Str > code_point) -> bool
template<concepts::detail::ConstantString Str, typename Enc = meta::Encoding<Str>, concepts::ContainerCompatible< meta::EncodingCodePoint< Enc > > Con>
requires (concepts::SameAs<Enc, meta::Encoding<Con>>)
constexpr auto ends_with (Str const &string, Con &&container) -> bool
template<concepts::detail::ConstantString S, concepts::detail::ConstantString T>
requires (concepts::SameAs<meta::Encoding<S>, meta::Encoding<T>>)
constexpr auto equal (S const &s, T const &t)
template<concepts::detail::ConstantString Str, typename Enc = meta::Encoding<Str>>
constexpr auto find (Str const &string, meta::EncodingCodePoint< Str > code_point)
template<concepts::detail::ConstantString Str, typename Enc = meta::Encoding<Str>, concepts::ContainerCompatible< meta::EncodingCodePoint< Enc > > Con>
requires (concepts::SameAs<Enc, meta::Encoding<Con>>)
constexpr auto find (Str const &string, Con &&container)
template<concepts::detail::ConstantString Str, typename Enc = meta::Encoding<Str>>
constexpr auto find_first_not_of (Str const &string, meta::EncodingCodePoint< Str > code_point)
template<concepts::detail::ConstantString Str, typename Enc = meta::Encoding<Str>, concepts::ContainerCompatible< meta::EncodingCodePoint< Enc > > Con>
requires (concepts::SameAs<Enc, meta::Encoding<Con>>)
constexpr auto find_first_not_of (Str const &string, Con &&container)
template<concepts::detail::ConstantString Str, typename Enc = meta::Encoding<Str>>
constexpr auto find_first_of (Str const &string, meta::EncodingCodePoint< Str > code_point)
template<concepts::detail::ConstantString Str, typename Enc = meta::Encoding<Str>, concepts::ContainerCompatible< meta::EncodingCodePoint< Enc > > Con>
requires (concepts::SameAs<Enc, meta::Encoding<Con>>)
constexpr auto find_first_of (Str const &string, Con &&container)
template<concepts::detail::ConstantString Str, typename Enc = meta::Encoding<Str>>
constexpr auto find_last_not_of (Str const &string, meta::EncodingCodePoint< Str > code_point)
template<concepts::detail::ConstantString Str, typename Enc = meta::Encoding<Str>, concepts::ContainerCompatible< meta::EncodingCodePoint< Enc > > Con>
requires (concepts::SameAs<Enc, meta::Encoding<Con>>)
constexpr auto find_last_not_of (Str const &string, Con &&container)
template<concepts::detail::ConstantString Str, typename Enc = meta::Encoding<Str>>
constexpr auto find_last_of (Str const &string, meta::EncodingCodePoint< Str > code_point)
template<concepts::detail::ConstantString Str, typename Enc = meta::Encoding<Str>, concepts::ContainerCompatible< meta::EncodingCodePoint< Enc > > Con>
requires (concepts::SameAs<Enc, meta::Encoding<Con>>)
constexpr auto find_last_of (Str const &string, Con &&container)
constexpr auto front (concepts::detail::ConstantString auto const &string)
constexpr auto iterator_at_offset (concepts::detail::ConstantString auto const &string, size_t index)
template<concepts::detail::MutableString Str, typename Enc = meta::Encoding<Str>, typename P = meta::EncodingCodePoint<Enc>>
constexpr auto push_back (Str &string, P code_point)
template<concepts::detail::ConstantString Str, typename Enc = meta::Encoding<Str>>
constexpr auto rfind (Str const &string, meta::EncodingCodePoint< Str > code_point)
template<concepts::detail::ConstantString Str, typename Enc = meta::Encoding<Str>, concepts::ContainerCompatible< meta::EncodingCodePoint< Enc > > Con>
requires (concepts::SameAs<Enc, meta::Encoding<Con>>)
constexpr auto rfind (Str const &string, Con &&container)
template<concepts::detail::ConstantString Str, typename Enc = meta::Encoding<Str>>
requires (encoding::Contiguous<Enc>)
constexpr auto size (Str const &string) -> size_t
constexpr auto size_code_units (concepts::detail::ConstantString auto const &string) -> size_t
template<concepts::detail::ConstantString Str, typename Enc = meta::Encoding<Str>>
constexpr auto starts_with (Str const &string, meta::EncodingCodePoint< Str > code_point) -> bool
template<concepts::detail::ConstantString Str, typename Enc = meta::Encoding<Str>, concepts::ContainerCompatible< meta::EncodingCodePoint< Enc > > Con>
requires (concepts::SameAs<Enc, meta::Encoding<Con>>)
constexpr auto starts_with (Str const &string, Con &&container) -> bool
template<concepts::detail::ConstantString Str, typename Enc = meta::Encoding<Str>>
constexpr auto substr (Str const &string, meta::EncodingIterator< Enc > first, Optional< meta::EncodingIterator< Enc > > last={})
template<concepts::detail::MutableString Str, typename Enc = meta::Encoding<Str>, typename It = meta::EncodingIterator<Enc>>
constexpr auto string_to_vector_iterator (Str &string, It it)
constexpr auto unicode_code_points (concepts::detail::ConstantString auto const &string)
template<typename T>
requires (concepts::HasEncoding<T> && concepts::DerivedFrom<T, container::string::ConstantStringInterface<T, meta::Encoding<T>>>)
constexpr auto tag_invoke (types::Tag< parser::into_parser_context >, T const &self)

Variables

constexpr auto to_utf8_string_lossy = ToUtf8StringLossy {}
constexpr auto to_utf8_string = ToUtf8String {}
constexpr auto to_transparent_string = ToTransparentString {}

Function Documentation

◆ append()

template<concepts::detail::MutableString Str, typename Enc = meta::Encoding<Str>, typename P = meta::EncodingCodePoint<Enc>, concepts::ContainerCompatible< P > Con>
auto di::container::string::append ( Str & string,
Con && container )
constexpr

◆ back()

auto di::container::string::back ( concepts::detail::ConstantString auto const & string)
constexpr

◆ begin()

auto di::container::string::begin ( concepts::detail::ConstantString auto const & string)
constexpr

◆ clear()

template<concepts::detail::MutableString Str>
void di::container::string::clear ( Str & string)
constexpr

◆ compare()

template<concepts::detail::ConstantString S, concepts::detail::ConstantString T>
requires (concepts::SameAs<meta::Encoding<S>, meta::Encoding<T>>)
auto di::container::string::compare ( S const & s,
T const & t )
constexpr

◆ contains() [1/2]

template<concepts::detail::ConstantString Str, typename Enc = meta::Encoding<Str>, concepts::ContainerCompatible< meta::EncodingCodePoint< Enc > > Con>
requires (concepts::SameAs<Enc, meta::Encoding<Con>>)
auto di::container::string::contains ( Str const & string,
Con && container )->bool
constexpr

◆ contains() [2/2]

template<concepts::detail::ConstantString Str, typename Enc = meta::Encoding<Str>>
auto di::container::string::contains ( Str const & string,
meta::EncodingCodePoint< Str > code_point )->bool
constexpr

◆ data()

auto di::container::string::data ( concepts::detail::ConstantString auto const & string)
constexpr

◆ empty()

auto di::container::string::empty ( concepts::detail::ConstantString auto const & string) ->size_t
constexpr

◆ end()

auto di::container::string::end ( concepts::detail::ConstantString auto const & string)
constexpr

◆ ends_with() [1/2]

template<concepts::detail::ConstantString Str, typename Enc = meta::Encoding<Str>, concepts::ContainerCompatible< meta::EncodingCodePoint< Enc > > Con>
requires (concepts::SameAs<Enc, meta::Encoding<Con>>)
auto di::container::string::ends_with ( Str const & string,
Con && container )->bool
constexpr

◆ ends_with() [2/2]

template<concepts::detail::ConstantString Str, typename Enc = meta::Encoding<Str>>
auto di::container::string::ends_with ( Str const & string,
meta::EncodingCodePoint< Str > code_point )->bool
constexpr

◆ equal()

template<concepts::detail::ConstantString S, concepts::detail::ConstantString T>
requires (concepts::SameAs<meta::Encoding<S>, meta::Encoding<T>>)
auto di::container::string::equal ( S const & s,
T const & t )
constexpr

◆ find() [1/2]

template<concepts::detail::ConstantString Str, typename Enc = meta::Encoding<Str>, concepts::ContainerCompatible< meta::EncodingCodePoint< Enc > > Con>
requires (concepts::SameAs<Enc, meta::Encoding<Con>>)
auto di::container::string::find ( Str const & string,
Con && container )
constexpr

◆ find() [2/2]

template<concepts::detail::ConstantString Str, typename Enc = meta::Encoding<Str>>
auto di::container::string::find ( Str const & string,
meta::EncodingCodePoint< Str > code_point )
constexpr

◆ find_first_not_of() [1/2]

template<concepts::detail::ConstantString Str, typename Enc = meta::Encoding<Str>, concepts::ContainerCompatible< meta::EncodingCodePoint< Enc > > Con>
requires (concepts::SameAs<Enc, meta::Encoding<Con>>)
auto di::container::string::find_first_not_of ( Str const & string,
Con && container )
constexpr

◆ find_first_not_of() [2/2]

template<concepts::detail::ConstantString Str, typename Enc = meta::Encoding<Str>>
auto di::container::string::find_first_not_of ( Str const & string,
meta::EncodingCodePoint< Str > code_point )
constexpr

◆ find_first_of() [1/2]

template<concepts::detail::ConstantString Str, typename Enc = meta::Encoding<Str>, concepts::ContainerCompatible< meta::EncodingCodePoint< Enc > > Con>
requires (concepts::SameAs<Enc, meta::Encoding<Con>>)
auto di::container::string::find_first_of ( Str const & string,
Con && container )
constexpr

◆ find_first_of() [2/2]

template<concepts::detail::ConstantString Str, typename Enc = meta::Encoding<Str>>
auto di::container::string::find_first_of ( Str const & string,
meta::EncodingCodePoint< Str > code_point )
constexpr

◆ find_last_not_of() [1/2]

template<concepts::detail::ConstantString Str, typename Enc = meta::Encoding<Str>, concepts::ContainerCompatible< meta::EncodingCodePoint< Enc > > Con>
requires (concepts::SameAs<Enc, meta::Encoding<Con>>)
auto di::container::string::find_last_not_of ( Str const & string,
Con && container )
constexpr

◆ find_last_not_of() [2/2]

template<concepts::detail::ConstantString Str, typename Enc = meta::Encoding<Str>>
auto di::container::string::find_last_not_of ( Str const & string,
meta::EncodingCodePoint< Str > code_point )
constexpr

◆ find_last_of() [1/2]

template<concepts::detail::ConstantString Str, typename Enc = meta::Encoding<Str>, concepts::ContainerCompatible< meta::EncodingCodePoint< Enc > > Con>
requires (concepts::SameAs<Enc, meta::Encoding<Con>>)
auto di::container::string::find_last_of ( Str const & string,
Con && container )
constexpr

◆ find_last_of() [2/2]

template<concepts::detail::ConstantString Str, typename Enc = meta::Encoding<Str>>
auto di::container::string::find_last_of ( Str const & string,
meta::EncodingCodePoint< Str > code_point )
constexpr

◆ front()

auto di::container::string::front ( concepts::detail::ConstantString auto const & string)
constexpr

◆ iterator_at_offset()

auto di::container::string::iterator_at_offset ( concepts::detail::ConstantString auto const & string,
size_t index )
constexpr

◆ push_back()

template<concepts::detail::MutableString Str, typename Enc = meta::Encoding<Str>, typename P = meta::EncodingCodePoint<Enc>>
auto di::container::string::push_back ( Str & string,
P code_point )
constexpr

◆ rfind() [1/2]

template<concepts::detail::ConstantString Str, typename Enc = meta::Encoding<Str>, concepts::ContainerCompatible< meta::EncodingCodePoint< Enc > > Con>
requires (concepts::SameAs<Enc, meta::Encoding<Con>>)
auto di::container::string::rfind ( Str const & string,
Con && container )
constexpr

◆ rfind() [2/2]

template<concepts::detail::ConstantString Str, typename Enc = meta::Encoding<Str>>
auto di::container::string::rfind ( Str const & string,
meta::EncodingCodePoint< Str > code_point )
constexpr

◆ size()

template<concepts::detail::ConstantString Str, typename Enc = meta::Encoding<Str>>
requires (encoding::Contiguous<Enc>)
auto di::container::string::size ( Str const & string) ->size_t
constexpr

◆ size_code_units()

auto di::container::string::size_code_units ( concepts::detail::ConstantString auto const & string) ->size_t
constexpr

◆ starts_with() [1/2]

template<concepts::detail::ConstantString Str, typename Enc = meta::Encoding<Str>, concepts::ContainerCompatible< meta::EncodingCodePoint< Enc > > Con>
requires (concepts::SameAs<Enc, meta::Encoding<Con>>)
auto di::container::string::starts_with ( Str const & string,
Con && container )->bool
constexpr

◆ starts_with() [2/2]

template<concepts::detail::ConstantString Str, typename Enc = meta::Encoding<Str>>
auto di::container::string::starts_with ( Str const & string,
meta::EncodingCodePoint< Str > code_point )->bool
constexpr

◆ string_to_vector_iterator()

template<concepts::detail::MutableString Str, typename Enc = meta::Encoding<Str>, typename It = meta::EncodingIterator<Enc>>
auto di::container::string::string_to_vector_iterator ( Str & string,
It it )
constexpr

◆ substr()

template<concepts::detail::ConstantString Str, typename Enc = meta::Encoding<Str>>
auto di::container::string::substr ( Str const & string,
meta::EncodingIterator< Enc > first,
Optional< meta::EncodingIterator< Enc > > last = {} )
constexpr

◆ tag_invoke()

template<typename T>
requires (concepts::HasEncoding<T> && concepts::DerivedFrom<T, container::string::ConstantStringInterface<T, meta::Encoding<T>>>)
auto di::container::string::tag_invoke ( types::Tag< parser::into_parser_context > ,
T const & self )
constexpr

◆ unicode_code_points()

auto di::container::string::unicode_code_points ( concepts::detail::ConstantString auto const & string)
constexpr

Variable Documentation

◆ to_transparent_string

auto di::container::string::to_transparent_string = ToTransparentString {}
inlineconstexpr

◆ to_utf8_string

auto di::container::string::to_utf8_string = ToUtf8String {}
inlineconstexpr

◆ to_utf8_string_lossy

auto di::container::string::to_utf8_string_lossy = ToUtf8StringLossy {}
inlineconstexpr