PATH:
usr
/
include
/
c++
/
11
/
bits
// Filesystem operational functions -*- C++ -*- // Copyright (C) 2014-2021 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the // terms of the GNU General Public License as published by the // Free Software Foundation; either version 3, or (at your __option) // any later version. // This library is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // Under Section 7 of GPL version 3, you are granted additional // permissions described in the GCC Runtime Library Exception, version // 3.1, as published by the Free Software Foundation. // You should have received a copy of the GNU General Public License and // a copy of the GCC Runtime Library Exception along with this program; // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. /** @file include/bits/fs_ops.h * This is an internal header file, included by other library headers. * Do not attempt to use it directly. @headername{filesystem} */ #ifndef _GLIBCXX_FS_OPS_H #define _GLIBCXX_FS_OPS_H 1 #if __cplusplus >= 201703L #include <cstdint> namespace std _GLIBCXX_VISIBILITY(default) { _GLIBCXX_BEGIN_NAMESPACE_VERSION namespace filesystem { /** @addtogroup filesystem * @{ */ [[nodiscard]] path absolute(const path& __p); [[nodiscard]] path absolute(const path& __p, error_code& __ec); [[nodiscard]] path canonical(const path& __p); [[nodiscard]] path canonical(const path& __p, error_code& __ec); inline void copy(const path& __from, const path& __to) { copy(__from, __to, copy_options::none); } inline void copy(const path& __from, const path& __to, error_code& __ec) { copy(__from, __to, copy_options::none, __ec); } void copy(const path& __from, const path& __to, copy_options __options); void copy(const path& __from, const path& __to, copy_options __options, error_code& __ec); inline bool copy_file(const path& __from, const path& __to) { return copy_file(__from, __to, copy_options::none); } inline bool copy_file(const path& __from, const path& __to, error_code& __ec) { return copy_file(__from, __to, copy_options::none, __ec); } bool copy_file(const path& __from, const path& __to, copy_options __option); bool copy_file(const path& __from, const path& __to, copy_options __option, error_code& __ec); void copy_symlink(const path& __existing_symlink, const path& __new_symlink); void copy_symlink(const path& __existing_symlink, const path& __new_symlink, error_code& __ec) noexcept; bool create_directories(const path& __p); bool create_directories(const path& __p, error_code& __ec); bool create_directory(const path& __p); bool create_directory(const path& __p, error_code& __ec) noexcept; bool create_directory(const path& __p, const path& attributes); bool create_directory(const path& __p, const path& attributes, error_code& __ec) noexcept; void create_directory_symlink(const path& __to, const path& __new_symlink); void create_directory_symlink(const path& __to, const path& __new_symlink, error_code& __ec) noexcept; void create_hard_link(const path& __to, const path& __new_hard_link); void create_hard_link(const path& __to, const path& __new_hard_link, error_code& __ec) noexcept; void create_symlink(const path& __to, const path& __new_symlink); void create_symlink(const path& __to, const path& __new_symlink, error_code& __ec) noexcept; [[nodiscard]] path current_path(); [[nodiscard]] path current_path(error_code& __ec); void current_path(const path& __p); void current_path(const path& __p, error_code& __ec) noexcept; [[nodiscard]] bool equivalent(const path& __p1, const path& __p2); [[nodiscard]] bool equivalent(const path& __p1, const path& __p2, error_code& __ec) noexcept; [[nodiscard]] inline bool exists(file_status __s) noexcept { return status_known(__s) && __s.type() != file_type::not_found; } [[nodiscard]] inline bool exists(const path& __p) { return exists(status(__p)); } [[nodiscard]] inline bool exists(const path& __p, error_code& __ec) noexcept { auto __s = status(__p, __ec); if (status_known(__s)) { __ec.clear(); return __s.type() != file_type::not_found; } return false; } [[nodiscard]] uintmax_t file_size(const path& __p); [[nodiscard]] uintmax_t file_size(const path& __p, error_code& __ec) noexcept; [[nodiscard]] uintmax_t hard_link_count(const path& __p); [[nodiscard]] uintmax_t hard_link_count(const path& __p, error_code& __ec) noexcept; [[nodiscard]] inline bool is_block_file(file_status __s) noexcept { return __s.type() == file_type::block; } [[nodiscard]] inline bool is_block_file(const path& __p) { return is_block_file(status(__p)); } [[nodiscard]] inline bool is_block_file(const path& __p, error_code& __ec) noexcept { return is_block_file(status(__p, __ec)); } [[nodiscard]] inline bool is_character_file(file_status __s) noexcept { return __s.type() == file_type::character; } [[nodiscard]] inline bool is_character_file(const path& __p) { return is_character_file(status(__p)); } [[nodiscard]] inline bool is_character_file(const path& __p, error_code& __ec) noexcept { return is_character_file(status(__p, __ec)); } [[nodiscard]] inline bool is_directory(file_status __s) noexcept { return __s.type() == file_type::directory; } [[nodiscard]] inline bool is_directory(const path& __p) { return is_directory(status(__p)); } [[nodiscard]] inline bool is_directory(const path& __p, error_code& __ec) noexcept { return is_directory(status(__p, __ec)); } [[nodiscard]] bool is_empty(const path& __p); [[nodiscard]] bool is_empty(const path& __p, error_code& __ec); [[nodiscard]] inline bool is_fifo(file_status __s) noexcept { return __s.type() == file_type::fifo; } [[nodiscard]] inline bool is_fifo(const path& __p) { return is_fifo(status(__p)); } [[nodiscard]] inline bool is_fifo(const path& __p, error_code& __ec) noexcept { return is_fifo(status(__p, __ec)); } [[nodiscard]] inline bool is_other(file_status __s) noexcept { return exists(__s) && !is_regular_file(__s) && !is_directory(__s) && !is_symlink(__s); } [[nodiscard]] inline bool is_other(const path& __p) { return is_other(status(__p)); } [[nodiscard]] inline bool is_other(const path& __p, error_code& __ec) noexcept { return is_other(status(__p, __ec)); } [[nodiscard]] inline bool is_regular_file(file_status __s) noexcept { return __s.type() == file_type::regular; } [[nodiscard]] inline bool is_regular_file(const path& __p) { return is_regular_file(status(__p)); } [[nodiscard]] inline bool is_regular_file(const path& __p, error_code& __ec) noexcept { return is_regular_file(status(__p, __ec)); } [[nodiscard]] inline bool is_socket(file_status __s) noexcept { return __s.type() == file_type::socket; } [[nodiscard]] inline bool is_socket(const path& __p) { return is_socket(status(__p)); } [[nodiscard]] inline bool is_socket(const path& __p, error_code& __ec) noexcept { return is_socket(status(__p, __ec)); } [[nodiscard]] inline bool is_symlink(file_status __s) noexcept { return __s.type() == file_type::symlink; } [[nodiscard]] inline bool is_symlink(const path& __p) { return is_symlink(symlink_status(__p)); } [[nodiscard]] inline bool is_symlink(const path& __p, error_code& __ec) noexcept { return is_symlink(symlink_status(__p, __ec)); } [[nodiscard]] file_time_type last_write_time(const path& __p); [[nodiscard]] file_time_type last_write_time(const path& __p, error_code& __ec) noexcept; void last_write_time(const path& __p, file_time_type __new_time); void last_write_time(const path& __p, file_time_type __new_time, error_code& __ec) noexcept; void permissions(const path& __p, perms __prms, perm_options __opts = perm_options::replace); inline void permissions(const path& __p, perms __prms, error_code& __ec) noexcept { permissions(__p, __prms, perm_options::replace, __ec); } void permissions(const path& __p, perms __prms, perm_options __opts, error_code& __ec) noexcept; [[nodiscard]] inline path proximate(const path& __p, error_code& __ec) { return proximate(__p, current_path(), __ec); } [[nodiscard]] path proximate(const path& __p, const path& __base = current_path()); [[nodiscard]] path proximate(const path& __p, const path& __base, error_code& __ec); [[nodiscard]] path read_symlink(const path& __p); [[nodiscard]] path read_symlink(const path& __p, error_code& __ec); [[nodiscard]] inline path relative(const path& __p, error_code& __ec) { return relative(__p, current_path(), __ec); } [[nodiscard]] path relative(const path& __p, const path& __base = current_path()); [[nodiscard]] path relative(const path& __p, const path& __base, error_code& __ec); bool remove(const path& __p); bool remove(const path& __p, error_code& __ec) noexcept; uintmax_t remove_all(const path& __p); uintmax_t remove_all(const path& __p, error_code& __ec); void rename(const path& __from, const path& __to); void rename(const path& __from, const path& __to, error_code& __ec) noexcept; void resize_file(const path& __p, uintmax_t __size); void resize_file(const path& __p, uintmax_t __size, error_code& __ec) noexcept; [[nodiscard]] space_info space(const path& __p); [[nodiscard]] space_info space(const path& __p, error_code& __ec) noexcept; [[nodiscard]] file_status status(const path& __p); [[nodiscard]] file_status status(const path& __p, error_code& __ec) noexcept; [[nodiscard]] inline bool status_known(file_status __s) noexcept { return __s.type() != file_type::none; } [[nodiscard]] file_status symlink_status(const path& __p); [[nodiscard]] file_status symlink_status(const path& __p, error_code& __ec) noexcept; [[nodiscard]] path temp_directory_path(); [[nodiscard]] path temp_directory_path(error_code& __ec); [[nodiscard]] path weakly_canonical(const path& __p); [[nodiscard]] path weakly_canonical(const path& __p, error_code& __ec); /// @} group filesystem } // namespace filesystem _GLIBCXX_END_NAMESPACE_VERSION } // namespace std #endif // C++17 #endif // _GLIBCXX_FS_OPS_H
[+]
..
[-] atomic_futex.h
[edit]
[-] random.h
[edit]
[-] functexcept.h
[edit]
[-] exception.h
[edit]
[-] regex.tcc
[edit]
[-] char_traits.h
[edit]
[-] uses_allocator.h
[edit]
[-] specfun.h
[edit]
[-] regex_automaton.tcc
[edit]
[-] stl_stack.h
[edit]
[-] node_handle.h
[edit]
[-] regex_error.h
[edit]
[-] stl_list.h
[edit]
[-] vector.tcc
[edit]
[-] stl_algobase.h
[edit]
[-] regex_automaton.h
[edit]
[-] cxxabi_init_exception.h
[edit]
[-] basic_ios.tcc
[edit]
[-] deque.tcc
[edit]
[-] fs_fwd.h
[edit]
[-] concept_check.h
[edit]
[-] stl_algo.h
[edit]
[-] functional_hash.h
[edit]
[-] random.tcc
[edit]
[-] fs_path.h
[edit]
[-] max_size_type.h
[edit]
[-] nested_exception.h
[edit]
[-] atomic_base.h
[edit]
[-] charconv.h
[edit]
[-] ostream.tcc
[edit]
[-] predefined_ops.h
[edit]
[-] boost_concept_check.h
[edit]
[-] atomic_lockfree_defines.h
[edit]
[-] stl_construct.h
[edit]
[-] list.tcc
[edit]
[-] locale_classes.tcc
[edit]
[-] uniform_int_dist.h
[edit]
[-] semaphore_base.h
[edit]
[-] mask_array.h
[edit]
[-] ranges_algobase.h
[edit]
[-] stl_heap.h
[edit]
[-] alloc_traits.h
[edit]
[-] string_view.tcc
[edit]
[-] sstream.tcc
[edit]
[-] regex_executor.tcc
[edit]
[-] cpp_type_traits.h
[edit]
[-] stl_map.h
[edit]
[-] hashtable_policy.h
[edit]
[-] regex_scanner.tcc
[edit]
[-] ranges_base.h
[edit]
[-] forward_list.h
[edit]
[-] allocator.h
[edit]
[-] codecvt.h
[edit]
[-] istream.tcc
[edit]
[-] memoryfwd.h
[edit]
[-] stl_vector.h
[edit]
[-] valarray_array.tcc
[edit]
[-] valarray_array.h
[edit]
[-] locale_facets.tcc
[edit]
[-] stl_tree.h
[edit]
[-] atomic_timed_wait.h
[edit]
[-] streambuf_iterator.h
[edit]
[-] unique_lock.h
[edit]
[-] exception_defines.h
[edit]
[-] stl_raw_storage_iter.h
[edit]
[-] locale_facets_nonio.tcc
[edit]
[-] regex.h
[edit]
[-] stl_tempbuf.h
[edit]
[-] unordered_map.h
[edit]
[-] std_mutex.h
[edit]
[-] regex_scanner.h
[edit]
[-] locale_facets_nonio.h
[edit]
[-] basic_string.h
[edit]
[-] locale_classes.h
[edit]
[-] regex_executor.h
[edit]
[-] stl_multiset.h
[edit]
[-] postypes.h
[edit]
[-] stl_multimap.h
[edit]
[-] std_thread.h
[edit]
[-] atomic_wait.h
[edit]
[-] fs_dir.h
[edit]
[-] exception_ptr.h
[edit]
[-] move.h
[edit]
[-] erase_if.h
[edit]
[-] valarray_after.h
[edit]
[-] hash_bytes.h
[edit]
[-] ranges_cmp.h
[edit]
[-] ios_base.h
[edit]
[-] invoke.h
[edit]
[-] stream_iterator.h
[edit]
[-] std_function.h
[edit]
[-] stl_iterator.h
[edit]
[-] slice_array.h
[edit]
[-] stringfwd.h
[edit]
[-] stl_function.h
[edit]
[-] forward_list.tcc
[edit]
[-] stl_iterator_base_funcs.h
[edit]
[-] refwrap.h
[edit]
[-] unordered_set.h
[edit]
[-] stl_uninitialized.h
[edit]
[-] streambuf.tcc
[edit]
[-] algorithmfwd.h
[edit]
[-] range_access.h
[edit]
[-] enable_special_members.h
[edit]
[-] unique_ptr.h
[edit]
[-] localefwd.h
[edit]
[-] quoted_string.h
[edit]
[-] uses_allocator_args.h
[edit]
[-] stl_queue.h
[edit]
[-] gslice_array.h
[edit]
[-] ptr_traits.h
[edit]
[-] ranges_algo.h
[edit]
[-] cxxabi_forced.h
[edit]
[-] std_abs.h
[edit]
[-] align.h
[edit]
[-] regex_compiler.h
[edit]
[-] stl_relops.h
[edit]
[-] indirect_array.h
[edit]
[-] regex_constants.h
[edit]
[-] stl_bvector.h
[edit]
[-] fs_ops.h
[edit]
[-] parse_numbers.h
[edit]
[-] shared_ptr_base.h
[edit]
[-] c++0x_warning.h
[edit]
[-] basic_string.tcc
[edit]
[-] stl_deque.h
[edit]
[-] ranges_uninitialized.h
[edit]
[-] hashtable.h
[edit]
[-] iterator_concepts.h
[edit]
[-] stl_iterator_base_types.h
[edit]
[-] locale_conv.h
[edit]
[-] stl_pair.h
[edit]
[-] shared_ptr_atomic.h
[edit]
[-] ranges_util.h
[edit]
[-] valarray_before.h
[edit]
[-] stl_set.h
[edit]
[-] stl_numeric.h
[edit]
[-] locale_facets.h
[edit]
[-] gslice.h
[edit]
[-] shared_ptr.h
[edit]
[-] ostream_insert.h
[edit]
[-] fstream.tcc
[edit]
[-] this_thread_sleep.h
[edit]
[-] basic_ios.h
[edit]
[-] allocated_ptr.h
[edit]
[-] regex_compiler.tcc
[edit]