std::filesystem::path(3cxx)
π std::filesystem::path π
Okay bestie, welcome to the std::filesystem::path(3cxx) manual page from libstdc++. This is the whole vibe for filesystem paths in C++. Let's get into it, fr fr. π¦
β¨ NAME β¨
std::filesystem::path β A filesystem path. That's it. That's the name. Iconic. π
β¨ SYNOPSIS β¨
#include <fs_path.h>
πΈ Classes
class iteratorβ An iterator for the components of a path. (yes bestie, it iterates the path components, slay)
πΈ Public Types
using const_iterator = iterator
enum format : unsigned char { native_format, generic_format, auto_format
}
path::format is ignored in this implementation
using string_type = std::basic_string< value_type >
using value_type = char
πΈ Public Member Functions
Here's the whole roster, no skips, periodt:
template<typename _InputIterator , typename _Require =
__detail::_Path2<_InputIterator>, typename _Req2 =
__detail::__value_type_is_char<_InputIterator>> path (_InputIterator
__first, _InputIterator __last, const locale &__loc,
format=auto_format)
template<typename _InputIterator , typename _Require =
__detail::_Path2<_InputIterator>> path (_InputIterator __first,
_InputIterator __last, format=auto_format)
template<typename _Source , typename _Require =
__detail::_Path<_Source>> path (_Source const &__source,
format=auto_format)
template<typename _Source , typename _Require =
__detail::_Path<_Source>, typename _Require2 =
__detail::__value_type_is_char<_Source>> path (_Source const &__src,
const locale &__loc, format=auto_format)
path (const path &__p)=default
path (path &&__p) noexcept
path (string_type &&__source, format=auto_format)
template<typename _InputIterator > __detail::_Path2< _InputIterator > &
append (_InputIterator __first, _InputIterator __last)
template<typename _Source > __detail::_Path< _Source > & append (_Source
const &__source)
template<typename _InputIterator > __detail::_Path2< _InputIterator > &
assign (_InputIterator __first, _InputIterator __last)
template<typename _Source > __detail::_Path< _Source > & assign (_Source
const &__source)
path & assign (string_type &&__source)
iterator begin () const
const value_type * c_str () const noexcept
void clear () noexcept
int compare (basic_string_view< value_type > __s) const noexcept
int compare (const path &__p) const noexcept
int compare (const string_type &__s) const noexcept
int compare (const value_type *__s) const noexcept
template<typename _InputIterator > __detail::_Path2< _InputIterator > &
concat (_InputIterator __first, _InputIterator __last)
template<typename _Source > __detail::_Path< _Source > & concat (_Source
const &__x)
bool empty () const noexcept
iterator end () const
path extension () const
path filename () const
std::string generic_string () const
template<typename _CharT , typename _Traits = std::char_traits<_CharT>,
typename _Allocator = std::allocator<_CharT>> std::basic_string<
_CharT, _Traits, _Allocator > generic_string (const _Allocator
&__a=_Allocator()) const
std::u16string generic_u16string () const
std::u32string generic_u32string () const
std::string generic_u8string () const
std::wstring generic_wstring () const
bool has_extension () const noexcept
bool has_filename () const noexcept
bool has_parent_path () const noexcept
bool has_relative_path () const noexcept
bool has_root_directory () const noexcept
bool has_root_name () const noexcept
bool has_root_path () const noexcept
bool has_stem () const noexcept
bool is_absolute () const noexcept
bool is_relative () const noexcept
path lexically_normal () const
path lexically_proximate (const path &base) const
path lexically_relative (const path &base) const
path & make_preferred ()
const string_type & native () const noexcept
operator string_type () const
template<typename _CharT > __detail::_Path2< _CharT * > & operator+=
(_CharT __x)
template<typename _Source > __detail::_Path< _Source > & operator+=
(_Source const &__x)
path & operator+= (basic_string_view< value_type > __x)
path & operator+= (const path &__x)
path & operator+= (const string_type &__x)
path & operator+= (const value_type *__x)
path & operator+= (value_type __x)
template<typename _Source > __detail::_Path< _Source > & operator/=
(_Source const &__source)
path & operator/= (const path &__p)
template<typename _Source > __detail::_Path< _Source > & operator=
(_Source const &__source)
path & operator= (const path &)
path & operator= (path &&) noexcept
path & operator= (string_type &&__source)
path parent_path () const
path relative_path () const
path & remove_filename ()
path & replace_extension (const path &__replacement=path())
path & replace_filename (const path &__replacement)
path root_directory () const
path root_name () const
path root_path () const
path stem () const
std::string string () const
template<typename _CharT , typename _Traits , typename _Allocator >
basic_string< _CharT, _Traits, _Allocator > string (const _Allocator
&__a) const
template<typename _CharT , typename _Traits = std::char_traits<_CharT>,
typename _Allocator = std::allocator<_CharT>> std::basic_string<
_CharT, _Traits, _Allocator > string (const _Allocator
&__a=_Allocator()) const
void swap (path &__rhs) noexcept
std::u16string u16string () const
std::u32string u32string () const
std::string u8string () const
std::wstring wstring () const
πΈ Static Public Attributes
static constexpr value_type preferred_separator
πΈ Friends
bool operator!= (const path &__lhs, const path &__rhs) noexcept
Compare paths.
path operator/ (const path &__lhs, const path &__rhs)
Append one path to another.
bool operator< (const path &__lhs, const path &__rhs) noexcept
Compare paths.
template<typename _CharT , typename _Traits > std::basic_ostream<
_CharT, _Traits > & operator<< (std::basic_ostream< _CharT, _Traits
> &__os, const path &__p)
Write a path to a stream.
bool operator<= (const path &__lhs, const path &__rhs) noexcept
Compare paths.
bool operator== (const path &__lhs, const path &__rhs) noexcept
Compare paths.
bool operator> (const path &__lhs, const path &__rhs) noexcept
Compare paths.
bool operator>= (const path &__lhs, const path &__rhs) noexcept
Compare paths.
template<typename _CharT , typename _Traits > std::basic_istream<
_CharT, _Traits > & operator>> (std::basic_istream< _CharT, _Traits
> &__is, path &__p)
Read a path from a stream.
πΈ Related Symbols
(Note that these are not member symbols.)
void swap (path &__lhs, path &__rhs) noexcept
template<typename _InputIterator , typename _Require =
__detail::_Path2<_InputIterator>, typename _CharT =
__detail::__value_type_is_char_or_char8_t<_InputIterator>> path
u8path (_InputIterator __first, _InputIterator __last)
template<typename _Source , typename _Require =
__detail::_Path<_Source>, typename _CharT =
__detail::__value_type_is_char_or_char8_t<_Source>> path u8path
(const _Source &__source)
β¨ Detailed Description β¨
A filesystem path. That's the whole detailed description, bestie. It's giving minimal but iconic. π
β¨ Member Enumeration Documentation β¨
enum std::filesystem::path::format : unsigned char
path::format is ignored in this implementation. So like, it's there, but it's not doing anything. No cap. π«Ά
β¨ Friends And Related Symbol Documentation β¨
Here's the friend-zone documentation, bestie:
bool operator!= (const path & __lhs, const path & __rhs) [friend]
Compare paths.
path operator/ (const path & __lhs, const path & __rhs) [friend]
Append one path to another.
bool operator< (const path & __lhs, const path & __rhs) [friend]
Compare paths.
template<typename _CharT , typename _Traits > std::basic_ostream< _CharT,
_Traits > & operator<< (std::basic_ostream< _CharT, _Traits > & __os,
const path & __p) [friend]
Write a path to a stream.
bool operator<= (const path & __lhs, const path & __rhs) [friend]
Compare paths.
bool operator== (const path & __lhs, const path & __rhs) [friend]
Compare paths.
bool operator> (const path & __lhs, const path & __rhs) [friend]
Compare paths.
bool operator>= (const path & __lhs, const path & __rhs) [friend]
Compare paths.
template<typename _CharT , typename _Traits > std::basic_istream< _CharT,
_Traits > & operator>> (std::basic_istream< _CharT, _Traits > & __is,
path & __p) [friend]
Read a path from a stream.
Translation: operator!=, operator<, operator<=, operator==, operator>, and operator>= all compare paths. operator/ appends one path to another. operator<< writes a path to a stream. operator>> reads a path from a stream. That's the whole friend group chat. π
β¨ Author β¨
Generated automatically by Doxygen for libstdc++ from the source code. Not a human, just vibes. π€β¨
That's the whole page, bestie. Source: libstdc++. Manual: std::filesystem::path(3cxx). No date on this one, but it's giving classic libstdc++ energy. Stay iconic. πβ¨π¦
π¦ where this page comes from
- ubuntu noble: libstdc++-11-doc 11.4.0-9ubuntu1
- ubuntu noble: libstdc++-11-doc 11.5.0-1ubuntu1~24.04.1
- ubuntu questing: libstdc++-11-doc 11.5.0-7ubuntu1
- ubuntu questing: libstdc++-11-doc 11.5.0-7ubuntu1.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms