File System

## Files

file | filesystem

## Typedefs

using | std::filesystem::file_time_type = __file_clock::time_point

## Enumerations

enum class | std::filesystem::copy_options : unsigned short { none , skip_existing , overwrite_existing , update_existing , recursive , copy_symlinks , skip_symlinks , directories_only , create_symlinks , create_hard_links }
enum class | std::filesystem::directory_options : unsigned char { none , follow_directory_symlink , skip_permission_denied }
enum class | std::filesystem::file_type : signed char { none , not_found , regular , directory , symlink , block , character , fifo , socket , unknown }
enum class | std::filesystem::perm_options : unsigned { replace , add , remove , nofollow }
enum class | std::filesystem::perms : unsigned { none , owner_read , owner_write , owner_exec , owner_all , group_read , group_write , group_exec , group_all , others_read , others_write , others_exec , others_all , all , set_uid , set_gid , sticky_bit , mask , unknown }

## Functions

path | std::filesystem::absolute (const path &__p)
path | std::filesystem::absolute (const path &__p, error_code &__ec)
path & | std::filesystem::path::assign (string_type &&__source)
iterator | std::filesystem::path::begin () const
path | std::filesystem::canonical (const path &__p)
path | std::filesystem::canonical (const path &__p, error_code &__ec)
int | std::filesystem::path::compare (const string_type &__s) const noexcept
int | std::filesystem::path::compare (const value_type *__s) const noexcept
void | std::filesystem::copy (const path &__from, const path &__to)
void | std::filesystem::copy (const path &__from, const path &__to, copy_options __options)
void | std::filesystem::copy (const path &__from, const path &__to, copy_options __options, error_code &)
void | std::filesystem::copy (const path &__from, const path &__to, error_code &__ec)
bool | std::filesystem::copy_file (const path &__from, const path &__to)
bool | std::filesystem::copy_file (const path &__from, const path &__to, copy_options __option)
bool | std::filesystem::copy_file (const path &__from, const path &__to, copy_options __option, error_code &)
bool | std::filesystem::copy_file (const path &__from, const path &__to, error_code &__ec)
void | std::filesystem::copy_symlink (const path &__existing_symlink, const path &__new_symlink)
void | std::filesystem::copy_symlink (const path &__existing_symlink, const path &__new_symlink, error_code &__ec) noexcept
bool | std::filesystem::create_directories (const path &__p)
bool | std::filesystem::create_directories (const path &__p, error_code &__ec)
bool | std::filesystem::create_directory (const path &__p)
bool | std::filesystem::create_directory (const path &__p, const path &attributes)
bool | std::filesystem::create_directory (const path &__p, const path &attributes, error_code &__ec) noexcept
bool | std::filesystem::create_directory (const path &__p, error_code &__ec) noexcept
void | std::filesystem::create_directory_symlink (const path &__to, const path &__new_symlink)
void | std::filesystem::create_directory_symlink (const path &__to, const path &__new_symlink, error_code &__ec) noexcept
void | std::filesystem::create_hard_link (const path &__to, const path &__new_hard_link)
void | std::filesystem::create_hard_link (const path &__to, const path &__new_hard_link, error_code &__ec) noexcept
void | std::filesystem::create_symlink (const path &__to, const path &__new_symlink)
void | std::filesystem::create_symlink (const path &__to, const path &__new_symlink, error_code &__ec) noexcept
path | std::filesystem::current_path ()
void | std::filesystem::current_path (const path &__p)
void | std::filesystem::current_path (const path &__p, error_code &__ec) noexcept
path | std::filesystem::current_path (error_code &__ec)
iterator | std::filesystem::path::end () const
bool | std::filesystem::equivalent (const path &__p1, const path &__p2)
bool | std::filesystem::equivalent (const path &__p1, const path &__p2, error_code &__ec) noexcept
bool | std::filesystem::exists (const path &__p)
bool | std::filesystem::exists (const path &__p, error_code &__ec) noexcept
bool | std::filesystem::exists (file_status) noexcept
path | std::filesystem::path::extension () const
uintmax_t | std::filesystem::file_size (const path &)
uintmax_t | std::filesystem::file_size (const path &, error_code &) noexcept
path | std::filesystem::path::filename () const
std::string | std::filesystem::path::generic_string () const
template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>
std::basic_string< _CharT, _Traits, _Allocator > | std::filesystem::path::generic_string (const _Allocator &__a=_Allocator()) const
std::u16string | std::filesystem::path::generic_u16string () const
std::u32string | std::filesystem::path::generic_u32string () const
std::string | std::filesystem::path::generic_u8string () const
std::wstring | std::filesystem::path::generic_wstring () const
uintmax_t | std::filesystem::hard_link_count (const path &)
uintmax_t | std::filesystem::hard_link_count (const path &, error_code &) noexcept
bool | std::filesystem::path::has_extension () const noexcept
bool | std::filesystem::path::has_stem () const noexcept
size_t | std::filesystem::hash_value (const path &__p) noexcept
bool | std::filesystem::path::is_absolute () const noexcept
bool | std::filesystem::is_block_file (const path &__p)
bool | std::filesystem::is_block_file (const path &__p, error_code &__ec) noexcept
bool | std::filesystem::is_block_file (file_status __s) noexcept
bool | std::filesystem::is_character_file (const path &__p)
bool | std::filesystem::is_character_file (const path &__p, error_code &__ec) noexcept
bool | std::filesystem::is_character_file (file_status __s) noexcept
bool | std::filesystem::is_directory (const path &__p)
bool | std::filesystem::is_directory (const path &__p, error_code &__ec) noexcept
bool | std::filesystem::is_directory (file_status __s) noexcept
bool | std::filesystem::is_empty (const path &__p)
bool | std::filesystem::is_empty (const path &__p, error_code &__ec)
bool | std::filesystem::is_fifo (const path &__p)
bool | std::filesystem::is_fifo (const path &__p, error_code &__ec) noexcept
bool | std::filesystem::is_fifo (file_status __s) noexcept
bool | std::filesystem::is_other (const path &__p)
bool | std::filesystem::is_other (const path &__p, error_code &__ec) noexcept
bool | std::filesystem::is_other (file_status) noexcept
bool | std::filesystem::is_regular_file (const path &__p)
bool | std::filesystem::is_regular_file (const path &__p, error_code &__ec) noexcept
bool | std::filesystem::is_regular_file (file_status) noexcept
bool | std::filesystem::is_socket (const path &__p)
bool | std::filesystem::is_socket (const path &__p, error_code &__ec) noexcept
bool | std::filesystem::is_socket (file_status __s) noexcept
bool | std::filesystem::is_symlink (const path &__p)
bool | std::filesystem::is_symlink (const path &__p, error_code &__ec) noexcept
bool | std::filesystem::is_symlink (file_status) noexcept
file_time_type | std::filesystem::last_write_time (const path &)
file_time_type | std::filesystem::last_write_time (const path &, error_code &) noexcept
void | std::filesystem::last_write_time (const path &__p, file_time_type __new_time)
void | std::filesystem::last_write_time (const path &__p, file_time_type __new_time, error_code &__ec) noexcept
path & | std::filesystem::path::make_preferred ()
copy_options & | std::filesystem::operator&= (copy_options &__x, copy_options __y) noexcept
reference | std::filesystem::path::iterator::operator* () const
iterator & | std::filesystem::path::iterator::operator++ ()
template<typename _CharT >
__detail::_Path2< _CharT * > & | std::filesystem::path::operator+= (_CharT __x)
path & | std::filesystem::path::operator+= (basic_string_view< value_type > __x)
path & | std::filesystem::path::operator+= (const string_type &__x)
path & | std::filesystem::path::operator+= (const value_type *__x)
path & | std::filesystem::path::operator+= (value_type __x)
iterator & | std::filesystem::path::iterator::operator-- ()
path & | std::filesystem::path::operator= (path &&) noexcept
path & | std::filesystem::path::operator= (string_type &&__source)
constexpr copy_options | std::filesystem::operator^ (copy_options __x, copy_options __y) noexcept
copy_options & | std::filesystem::operator^= (copy_options &__x, copy_options __y) noexcept
constexpr copy_options | std::filesystem::operator| (copy_options __x, copy_options __y) noexcept
copy_options & | std::filesystem::operator|= (copy_options &__x, copy_options __y) noexcept
constexpr copy_options | std::filesystem::operator~ (copy_options __x) noexcept
void | std::filesystem::permissions (const path &, perms, perm_options, error_code &) noexcept
void | std::filesystem::permissions (const path &__p, perms __prms, error_code &__ec) noexcept
void | std::filesystem::permissions (const path &__p, perms __prms, perm_options __opts=perm_options::replace)
path | std::filesystem::proximate (const path &__p, const path &__base, error_code &__ec)
path | std::filesystem::proximate (const path &__p, const path &__base=current_path())
path | std::filesystem::proximate (const path &__p, error_code &__ec)
path | std::filesystem::read_symlink (const path &__p)
path | std::filesystem::read_symlink (const path &__p, error_code &__ec)
path | std::filesystem::relative (const path &__p, const path &__base, error_code &__ec)
path | std::filesystem::relative (const path &__p, const path &__base=current_path())
path | std::filesystem::relative (const path &__p, error_code &__ec)
bool | std::filesystem::remove (const path &__p)
bool | std::filesystem::remove (const path &__p, error_code &__ec) noexcept
uintmax_t | std::filesystem::remove_all (const path &__p)
uintmax_t | std::filesystem::remove_all (const path &__p, error_code &__ec)
void | std::filesystem::rename (const path &__from, const path &__to)
void | std::filesystem::rename (const path &__from, const path &__to, error_code &__ec) noexcept
void | std::filesystem::resize_file (const path &__p, uintmax_t __size)
void | std::filesystem::resize_file (const path &__p, uintmax_t __size, error_code &__ec) noexcept
space_info | std::filesystem::space (const path &__p)
space_info | std::filesystem::space (const path &__p, error_code &__ec) noexcept
file_status | std::filesystem::status (const path &)
file_status | std::filesystem::status (const path &, error_code &) noexcept
bool | std::filesystem::status_known (file_status) noexcept
path | std::filesystem::path::stem () const
std::string | std::filesystem::path::string () const
template<typename _CharT , typename _Traits , typename _Allocator >
basic_string< _CharT, _Traits, _Allocator > | std::filesystem::path::string (const _Allocator &__a) const
void | swap (path &__lhs, path &__rhs) noexcept
void | std::filesystem::path::swap (path &__rhs) noexcept
file_status | std::filesystem::symlink_status (const path &)
file_status | std::filesystem::symlink_status (const path &, error_code &) noexcept
path | std::filesystem::temp_directory_path ()
path | std::filesystem::temp_directory_path (error_code &__ec)
std::u16string | std::filesystem::path::u16string () const
std::u32string | std::filesystem::path::u32string () const
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)
std::string | std::filesystem::path::u8string () const
path | std::filesystem::weakly_canonical (const path &__p)
path | std::filesystem::weakly_canonical (const path &__p, error_code &__ec)
std::wstring | std::filesystem::path::wstring () const
constexpr perms | std::filesystem::operator| (perms __x, perms __y) noexcept
constexpr perms | std::filesystem::operator^ (perms __x, perms __y) noexcept
constexpr perms | std::filesystem::operator~ (perms __x) noexcept
perms & | std::filesystem::operator&= (perms &__x, perms __y) noexcept
perms & | std::filesystem::operator|= (perms &__x, perms __y) noexcept
perms & | std::filesystem::operator^= (perms &__x, perms __y) noexcept
constexpr perm_options | std::filesystem::operator| (perm_options __x, perm_options __y) noexcept
constexpr perm_options | std::filesystem::operator^ (perm_options __x, perm_options __y) noexcept
constexpr perm_options | std::filesystem::operator~ (perm_options __x) noexcept
perm_options & | std::filesystem::operator&= (perm_options &__x, perm_options __y) noexcept
perm_options & | std::filesystem::operator|= (perm_options &__x, perm_options __y) noexcept
perm_options & | std::filesystem::operator^= (perm_options &__x, perm_options __y) noexcept
constexpr directory_options | std::filesystem::operator| (directory_options __x, directory_options __y) noexcept
constexpr directory_options | std::filesystem::operator^ (directory_options __x, directory_options __y) noexcept
constexpr directory_options | std::filesystem::operator~ (directory_options __x) noexcept
directory_options & | std::filesystem::operator&= (directory_options &__x, directory_options __y) noexcept
directory_options & | std::filesystem::operator|= (directory_options &__x, directory_options __y) noexcept
directory_options & | std::filesystem::operator^= (directory_options &__x, directory_options __y) noexcept
directory_iterator | begin (directory_iterator __iter) noexcept
directory_iterator | end (directory_iterator) noexcept
recursive_directory_iterator | begin (recursive_directory_iterator __iter) noexcept
recursive_directory_iterator | end (recursive_directory_iterator) noexcept

## Detailed Description

Utilities for performing operations on file systems and their components, such as paths, regular files, and directories.

## Typedef Documentation

## file_time_type

using std::filesystem::file_time_type = typedef __file_clock::time_point

The type used for file timestamps.

Definition at line 314 of file bits/fs_fwd.h.

## Enumeration Type Documentation

## copy_options

enum std::filesystem::copy_options : unsigned short

strong

Bitmask type controlling effects of `filesystem::copy`

Definition at line 84 of file bits/fs_fwd.h.

## directory_options

enum std::filesystem::directory_options : unsigned char

strong

Bitmask type controlling directory iteration.

Definition at line 263 of file bits/fs_fwd.h.

## file_type

enum std::filesystem::file_type : signed char

strong

Enumerated type representing the type of a file.

Definition at line 78 of file bits/fs_fwd.h.

## perm_options

enum std::filesystem::perm_options : unsigned

strong

Bitmask type controlling changes to permissions.

Definition at line 209 of file bits/fs_fwd.h.

## perms

enum std::filesystem::perms : unsigned

strong

Bitmask type representing file access permissions.

Definition at line 140 of file bits/fs_fwd.h.

## Function Documentation

## begin() [1/2]

directory_iterator begin | ( | directory_iterator | __iter | ) |

related

Enable range-based `for` using directory_iterator.

e.g. `for (auto& entry : std::filesystem::directory_iterator(".")) ...`

Definition at line 451 of file bits/fs_dir.h.

## begin() [2/2]

recursive_directory_iterator begin | ( | recursive_directory_iterator | __iter | ) |

related

Enable range-based `for` using recursive_directory_iterator.

e.g. `for (auto& entry : recursive_directory_iterator(".")) ...`

Definition at line 549 of file bits/fs_dir.h.

## end() [1/2]

directory_iterator end | ( | directory_iterator |  | ) |

related

Return a past-the-end directory_iterator.

Definition at line 456 of file bits/fs_dir.h.

## end() [2/2]

recursive_directory_iterator end | ( | recursive_directory_iterator |  | ) |

related

Return a past-the-end recursive_directory_iterator.

Definition at line 554 of file bits/fs_dir.h.

## u8path() [1/2]

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
| ) |  |

related

Create a path from a UTF-8-encoded sequence of char

Definition at line 767 of file bits/fs_path.h.

## u8path() [2/2]

template<typename _Source , typename _Require = __detail::_Path<_Source>, typename _CharT = __detail::__value_type_is_char_or_char8_t<_Source>>

path u8path | ( | const _Source & | __source | ) |

related

Create a path from a UTF-8-encoded sequence of char

Definition at line 789 of file bits/fs_path.h.