Ditto 4.5.3
Loading...
Searching...
No Matches
Classes | Public Types | Public Member Functions | List of all members
ghc::filesystem::path Class Reference
Inheritance diagram for ghc::filesystem::path:
ghc::filesystem::path_helper_base< std::string::value_type >

Classes

struct  _is_basic_string
 
struct  _is_basic_string< std::basic_string< CharT, Traits, Alloc > >
 

Public Types

enum  format { generic_format , native_format , auto_format }
 The path format in wich the constructor argument is given. More...
 
using string_type = std::basic_string<value_type>
 
template<typename T1 , typename T2 = void>
using path_type = typename std::enable_if<!std::is_same<path, T1>::value, path>::type
 
template<typename T >
using path_from_string = typename std::enable_if<_is_basic_string<T>::value || std::is_same<char const*, typename std::decay<T>::type>::value || std::is_same<char*, typename std::decay<T>::type>::value, path>::type
 
template<typename T >
using path_type_EcharT = typename std::enable_if<std::is_same<T, char>::value || std::is_same<T, char16_t>::value || std::is_same<T, char32_t>::value || std::is_same<T, wchar_t>::value, path>::type
 
using const_iterator = iterator
 
using value_type = const path
 
using difference_type = std::ptrdiff_t
 
using pointer = const path*
 
using reference = const path&
 
using iterator_category = std::bidirectional_iterator_tag
 

Public Member Functions

 path (const path &p)
 
 path (path &&p) noexcept
 
 path (string_type &&source, format fmt=auto_format)
 
template<class Source , typename = path_from_string<Source>>
 path (const Source &source, format fmt=auto_format)
 
template<class InputIterator >
 path (InputIterator first, InputIterator last, format fmt=auto_format)
 
template<class Source , typename = path_from_string<Source>>
 path (const Source &source, const std::locale &loc, format fmt=auto_format)
 
template<class InputIterator >
 path (InputIterator first, InputIterator last, const std::locale &loc, format fmt=auto_format)
 
pathoperator= (const path &p)
 
pathoperator= (path &&p) noexcept
 
pathoperator= (string_type &&source)
 
pathassign (string_type &&source)
 
template<class Source >
pathoperator= (const Source &source)
 
template<class Source >
pathassign (const Source &source)
 
template<class InputIterator >
pathassign (InputIterator first, InputIterator last)
 
pathoperator/= (const path &p)
 
template<class Source >
pathoperator/= (const Source &source)
 
template<class Source >
pathappend (const Source &source)
 
template<class InputIterator >
pathappend (InputIterator first, InputIterator last)
 
pathoperator+= (const path &x)
 
pathoperator+= (const string_type &x)
 
pathoperator+= (const value_type *x)
 
pathoperator+= (value_type x)
 
template<class Source >
path_from_string< Source > & operator+= (const Source &x)
 
template<class EcharT >
path_type_EcharT< EcharT > & operator+= (EcharT x)
 
template<class Source >
pathconcat (const Source &x)
 
template<class InputIterator >
pathconcat (InputIterator first, InputIterator last)
 
void clear () noexcept
 
pathmake_preferred ()
 
pathremove_filename ()
 
pathreplace_filename (const path &replacement)
 
pathreplace_extension (const path &replacement=path())
 
void swap (path &rhs) noexcept
 
const string_type & native () const
 
const value_typec_str () const
 
 operator string_type () const
 
template<class EcharT , class traits = std::char_traits<EcharT>, class Allocator = std::allocator<EcharT>>
std::basic_string< EcharT, traits, Allocator > string (const Allocator &a=Allocator()) const
 
std::string string () const
 
std::wstring wstring () const
 
std::string u8string () const
 
std::u16string u16string () const
 
std::u32string u32string () const
 
template<class EcharT , class traits = std::char_traits<EcharT>, class Allocator = std::allocator<EcharT>>
std::basic_string< EcharT, traits, Allocator > generic_string (const Allocator &a=Allocator()) const
 
const std::string & generic_string () const
 
std::wstring generic_wstring () const
 
std::string generic_u8string () const
 
std::u16string generic_u16string () const
 
std::u32string generic_u32string () const
 
int compare (const path &p) const noexcept
 
int compare (const string_type &s) const
 
int compare (const value_type *s) const
 
path root_name () const
 
path root_directory () const
 
path root_path () const
 
path relative_path () const
 
path parent_path () const
 
path filename () const
 
path stem () const
 
path extension () const
 
bool empty () const noexcept
 
bool has_root_name () const
 
bool has_root_directory () const
 
bool has_root_path () const
 
bool has_relative_path () const
 
bool has_parent_path () const
 
bool has_filename () const
 
bool has_stem () const
 
bool has_extension () const
 
bool is_absolute () const
 
bool is_relative () const
 
path lexically_normal () const
 
path lexically_relative (const path &base) const
 
path lexically_proximate (const path &base) const
 
iterator begin () const
 
iterator end () const
 
 iterator ()
 
 iterator (const impl_string_type::const_iterator &first, const impl_string_type::const_iterator &last, const impl_string_type::const_iterator &pos)
 
iterator & operator++ ()
 
iterator operator++ (int)
 
iterator & operator-- ()
 
iterator operator-- (int)
 
bool operator== (const iterator &other) const
 
bool operator!= (const iterator &other) const
 
reference operator* () const
 
pointer operator-> () const
 
template<>
 path (const std::wstring &source, format fmt)
 
template<>
 path (const std::u16string &source, format fmt)
 
template<>
 path (const std::u32string &source, format fmt)
 
template<>
pathassign (const path &source)
 
template<>
pathappend (const path &p)
 

Member Enumeration Documentation

◆ format

The path format in wich the constructor argument is given.

Enumerator
generic_format 

The generic format, internally used by ghc::filesystem::path with slashes

native_format 

The format native to the current platform this code is build for

auto_format 

Try to auto-detect the format, fallback to native.