Iros
 
Loading...
Searching...
No Matches
di::container::PathImpl< Str > Class Template Reference

#include <di/container/path/path_impl.h>

Inheritance diagram for di::container::PathImpl< Str >:
[legend]

Public Types

using Encoding = Enc
 

Public Member Functions

 PathImpl ()=default
 
constexpr PathImpl (Str &&string)
 
constexpr auto data () const
 
constexpr auto c_str () const
 
constexpr auto clone () const
 
template<concepts::ContainerCompatible< meta::EncodingCodePoint< Enc > > Con>
requires (concepts::SameAs<meta::Encoding<Con>, Enc> && concepts::ForwardContainer<Con>)
constexpr auto append (Con &&container) -> decltype(auto)
 
constexpr auto append (PathViewImpl< Enc > view) -> decltype(auto)
 
constexpr auto append (PathImpl const &other) -> decltype(auto)
 
template<concepts::ContainerCompatible< meta::EncodingCodePoint< Enc > > Con>
requires (concepts::SameAs<meta::Encoding<Con>, Enc> && concepts::ForwardContainer<Con>)
constexpr auto operator/= (Con &&container) -> decltype(auto)
 
constexpr auto operator/= (PathViewImpl< Enc > view) -> decltype(auto)
 
constexpr auto operator/= (PathImpl const &other) -> decltype(auto)
 
template<concepts::ContainerCompatible< meta::EncodingCodePoint< Enc > > Con>
requires (concepts::SameAs<meta::Encoding<Con>, Enc>)
constexpr auto concat (Con &&container) -> decltype(auto)
 
constexpr auto concat (PathViewImpl< Enc > view) -> decltype(auto)
 
constexpr auto concat (PathImpl const &other) -> decltype(auto)
 
template<concepts::ContainerCompatible< meta::EncodingCodePoint< Enc > > Con>
requires (concepts::SameAs<meta::Encoding<Con>, Enc>)
constexpr auto operator+= (Con &&container) -> decltype(auto)
 
constexpr auto operator+= (PathViewImpl< Enc > view) -> decltype(auto)
 
constexpr auto operator+= (PathImpl const &other) -> decltype(auto)
 
constexpr void clear ()
 
constexpr auto take_underlying_string () &&
 
- Public Member Functions inherited from di::container::ConstantPathInterface< PathImpl< Str >, meta::Encoding< Str > >
constexpr auto empty () const -> bool
 
constexpr auto view () const &-> PathView
 
constexpr operator PathView () const &
 
constexpr auto front () const
 
constexpr auto back () const
 
constexpr auto begin () const
 
constexpr auto end () const
 
constexpr auto is_absolute () const -> bool
 
constexpr auto is_relative () const -> bool
 
constexpr auto filename () const -> Optional< View >
 
constexpr auto extension () const -> Optional< View >
 
constexpr auto stem () const -> Optional< View >
 
constexpr auto parent_path () const -> Optional< PathView >
 
constexpr auto starts_with (PathView prefix) const -> bool
 
constexpr auto ends_with (PathView suffix) const -> bool
 
constexpr auto filename_ends_with (View suffix) const -> bool
 
constexpr auto strip_prefix (PathView prefix) -> Optional< PathView >
 

Friends

template<concepts::ContainerCompatible< meta::EncodingCodeUnit< Enc > > Con, typename... Args>
requires (concepts::CreatableFrom<Str, Con, Args...>)
constexpr friend auto tag_invoke (types::Tag< util::create_in_place >, InPlaceType< PathImpl >, Con &&container, Args &&... args)
 
constexpr friend auto tag_invoke (types::Tag< util::create_in_place >, InPlaceType< PathImpl >, PathViewImpl< Enc > view)
 
template<concepts::ContainerCompatible< meta::EncodingCodePoint< Enc > > Con>
requires (concepts::SameAs<meta::Encoding<Con>, Enc>)
constexpr friend auto operator/ (PathImpl &&lhs, Con &&rhs)
 
auto operator/ (PathImpl &&lhs, PathViewImpl< Enc > rhs)
 
auto operator/ (PathImpl &&lhs, PathImpl const &rhs)
 

Additional Inherited Members

- Protected Member Functions inherited from di::container::ConstantPathInterface< PathImpl< Str >, meta::Encoding< Str > >
constexpr void compute_first_component_end ()
 

Member Typedef Documentation

◆ Encoding

template<concepts::InstanceOf< string::StringImpl > Str>
using di::container::PathImpl< Str >::Encoding = Enc

Constructor & Destructor Documentation

◆ PathImpl() [1/2]

template<concepts::InstanceOf< string::StringImpl > Str>
di::container::PathImpl< Str >::PathImpl ( )
default

◆ PathImpl() [2/2]

template<concepts::InstanceOf< string::StringImpl > Str>
di::container::PathImpl< Str >::PathImpl ( Str && string)
inlineconstexpr

Member Function Documentation

◆ append() [1/3]

template<concepts::InstanceOf< string::StringImpl > Str>
template<concepts::ContainerCompatible< meta::EncodingCodePoint< Enc > > Con>
requires (concepts::SameAs<meta::Encoding<Con>, Enc> && concepts::ForwardContainer<Con>)
auto di::container::PathImpl< Str >::append ( Con && container) -> decltype(auto)
inlineconstexpr

◆ append() [2/3]

template<concepts::InstanceOf< string::StringImpl > Str>
auto di::container::PathImpl< Str >::append ( PathImpl< Str > const & other) -> decltype(auto)
inlineconstexpr

◆ append() [3/3]

template<concepts::InstanceOf< string::StringImpl > Str>
auto di::container::PathImpl< Str >::append ( PathViewImpl< Enc > view) -> decltype(auto)
inlineconstexpr

◆ c_str()

template<concepts::InstanceOf< string::StringImpl > Str>
auto di::container::PathImpl< Str >::c_str ( ) const
inlineconstexpr

◆ clear()

template<concepts::InstanceOf< string::StringImpl > Str>
void di::container::PathImpl< Str >::clear ( )
inlineconstexpr

◆ clone()

template<concepts::InstanceOf< string::StringImpl > Str>
auto di::container::PathImpl< Str >::clone ( ) const
inlineconstexpr

◆ concat() [1/3]

template<concepts::InstanceOf< string::StringImpl > Str>
template<concepts::ContainerCompatible< meta::EncodingCodePoint< Enc > > Con>
requires (concepts::SameAs<meta::Encoding<Con>, Enc>)
auto di::container::PathImpl< Str >::concat ( Con && container) -> decltype(auto)
inlineconstexpr

◆ concat() [2/3]

template<concepts::InstanceOf< string::StringImpl > Str>
auto di::container::PathImpl< Str >::concat ( PathImpl< Str > const & other) -> decltype(auto)
inlineconstexpr

◆ concat() [3/3]

template<concepts::InstanceOf< string::StringImpl > Str>
auto di::container::PathImpl< Str >::concat ( PathViewImpl< Enc > view) -> decltype(auto)
inlineconstexpr

◆ data()

template<concepts::InstanceOf< string::StringImpl > Str>
auto di::container::PathImpl< Str >::data ( ) const
inlineconstexpr

◆ operator+=() [1/3]

template<concepts::InstanceOf< string::StringImpl > Str>
template<concepts::ContainerCompatible< meta::EncodingCodePoint< Enc > > Con>
requires (concepts::SameAs<meta::Encoding<Con>, Enc>)
auto di::container::PathImpl< Str >::operator+= ( Con && container) -> decltype(auto)
inlineconstexpr

◆ operator+=() [2/3]

template<concepts::InstanceOf< string::StringImpl > Str>
auto di::container::PathImpl< Str >::operator+= ( PathImpl< Str > const & other) -> decltype(auto)
inlineconstexpr

◆ operator+=() [3/3]

template<concepts::InstanceOf< string::StringImpl > Str>
auto di::container::PathImpl< Str >::operator+= ( PathViewImpl< Enc > view) -> decltype(auto)
inlineconstexpr

◆ operator/=() [1/3]

template<concepts::InstanceOf< string::StringImpl > Str>
template<concepts::ContainerCompatible< meta::EncodingCodePoint< Enc > > Con>
requires (concepts::SameAs<meta::Encoding<Con>, Enc> && concepts::ForwardContainer<Con>)
auto di::container::PathImpl< Str >::operator/= ( Con && container) -> decltype(auto)
inlineconstexpr

◆ operator/=() [2/3]

template<concepts::InstanceOf< string::StringImpl > Str>
auto di::container::PathImpl< Str >::operator/= ( PathImpl< Str > const & other) -> decltype(auto)
inlineconstexpr

◆ operator/=() [3/3]

template<concepts::InstanceOf< string::StringImpl > Str>
auto di::container::PathImpl< Str >::operator/= ( PathViewImpl< Enc > view) -> decltype(auto)
inlineconstexpr

◆ take_underlying_string()

template<concepts::InstanceOf< string::StringImpl > Str>
auto di::container::PathImpl< Str >::take_underlying_string ( ) &&
inlineconstexpr

Friends And Related Symbol Documentation

◆ operator/ [1/3]

template<concepts::InstanceOf< string::StringImpl > Str>
template<concepts::ContainerCompatible< meta::EncodingCodePoint< Enc > > Con>
requires (concepts::SameAs<meta::Encoding<Con>, Enc>)
friend auto operator/ ( PathImpl< Str > && lhs,
Con && rhs )
friend

◆ operator/ [2/3]

template<concepts::InstanceOf< string::StringImpl > Str>
auto operator/ ( PathImpl< Str > && lhs,
PathImpl< Str > const & rhs )
friend

◆ operator/ [3/3]

template<concepts::InstanceOf< string::StringImpl > Str>
auto operator/ ( PathImpl< Str > && lhs,
PathViewImpl< Enc > rhs )
friend

◆ tag_invoke [1/2]

template<concepts::InstanceOf< string::StringImpl > Str>
template<concepts::ContainerCompatible< meta::EncodingCodeUnit< Enc > > Con, typename... Args>
requires (concepts::CreatableFrom<Str, Con, Args...>)
friend auto tag_invoke ( types::Tag< util::create_in_place > ,
InPlaceType< PathImpl< Str > > ,
Con && container,
Args &&... args )
friend

◆ tag_invoke [2/2]

template<concepts::InstanceOf< string::StringImpl > Str>
friend auto tag_invoke ( types::Tag< util::create_in_place > ,
InPlaceType< PathImpl< Str > > ,
PathViewImpl< Enc > view )
friend

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