diff options
Diffstat (limited to 'third_party/libcxx/include/c++/v1/filesystem')
| -rw-r--r-- | third_party/libcxx/include/c++/v1/filesystem | 581 |
1 files changed, 0 insertions, 581 deletions
diff --git a/third_party/libcxx/include/c++/v1/filesystem b/third_party/libcxx/include/c++/v1/filesystem deleted file mode 100644 index 4a30583..0000000 --- a/third_party/libcxx/include/c++/v1/filesystem +++ /dev/null @@ -1,581 +0,0 @@ -// -*- C++ -*- -//===----------------------------------------------------------------------===// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// - -#ifndef _LIBCPP_FILESYSTEM -#define _LIBCPP_FILESYSTEM - -/* - filesystem synopsis - - namespace std::filesystem { - - // `class path` from http://eel.is/c++draft/fs.class.path.general#6 - class path { - public: - using value_type = see below; - using string_type = basic_string<value_type>; - static constexpr value_type preferred_separator = see below; - - enum format; - - path() noexcept; - path(const path& p); - path(path&& p) noexcept; - path(string_type&& source, format fmt = auto_format); - template<class Source> - path(const Source& source, format fmt = auto_format); - template<class InputIterator> - path(InputIterator first, InputIterator last, format fmt = auto_format); - template<class Source> - path(const Source& source, const locale& loc, format fmt = auto_format); - template<class InputIterator> - path(InputIterator first, InputIterator last, const locale& loc, format fmt = auto_format); - ~path(); - - path& operator=(const path& p); - path& operator=(path&& p) noexcept; - path& operator=(string_type&& source); - path& assign(string_type&& source); - template<class Source> - path& operator=(const Source& source); - template<class Source> - path& assign(const Source& source); - template<class InputIterator> - path& assign(InputIterator first, InputIterator last); - - path& operator/=(const path& p); - template<class Source> - path& operator/=(const Source& source); - template<class Source> - path& append(const Source& source); - template<class InputIterator> - path& append(InputIterator first, InputIterator last); - - path& operator+=(const path& x); - path& operator+=(const string_type& x); - path& operator+=(basic_string_view<value_type> x); - path& operator+=(const value_type* x); - path& operator+=(value_type x); - template<class Source> - path& operator+=(const Source& x); - template<class EcharT> - path& operator+=(EcharT x); - template<class Source> - path& concat(const Source& x); - template<class InputIterator> - path& concat(InputIterator first, InputIterator last); - - void clear() noexcept; - path& make_preferred(); - path& remove_filename(); - path& replace_filename(const path& replacement); - path& replace_extension(const path& replacement = path()); - void swap(path& rhs) noexcept; - - friend bool operator==(const path& lhs, const path& rhs) noexcept; - friend bool operator!=(const path& lhs, const path& rhs) noexcept; // removed in C++20 - friend bool operator< (const path& lhs, const path& rhs) noexcept; // removed in C++20 - friend bool operator<=(const path& lhs, const path& rhs) noexcept; // removed in C++20 - friend bool operator> (const path& lhs, const path& rhs) noexcept; // removed in C++20 - friend bool operator>=(const path& lhs, const path& rhs) noexcept; // removed in C++20 - friend strong_ordering operator<=>(const path& lhs, const path& rhs) noexcept; // C++20 - - friend path operator/(const path& lhs, const path& rhs); - - const string_type& native() const noexcept; - const value_type* c_str() const noexcept; - operator string_type() const; - - template<class EcharT, class traits = char_traits<EcharT>, - class Allocator = allocator<EcharT>> - basic_string<EcharT, traits, Allocator> - string(const Allocator& a = Allocator()) const; - std::string string() const; - std::wstring wstring() const; - std::u8string u8string() const; - std::u16string u16string() const; - std::u32string u32string() const; - - template<class EcharT, class traits = char_traits<EcharT>, - class Allocator = allocator<EcharT>> - basic_string<EcharT, traits, Allocator> - generic_string(const Allocator& a = Allocator()) const; - std::string generic_string() const; - std::wstring generic_wstring() const; - std::u8string 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(basic_string_view<value_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; - - [[nodiscard]] 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; - - class iterator; - using const_iterator = iterator; - - iterator begin() const; - iterator end() const; - - template<class charT, class traits> - friend basic_ostream<charT, traits>& - operator<<(basic_ostream<charT, traits>& os, const path& p); - template<class charT, class traits> - friend basic_istream<charT, traits>& - operator>>(basic_istream<charT, traits>& is, path& p); - }; - - void swap(path& lhs, path& rhs) noexcept; - size_t hash_value(const path& p) noexcept; - - // [fs.path.hash], hash support - template<> struct hash<filesystem::path>; - - template <class Source> - path u8path(const Source& source); - template <class InputIterator> - path u8path(InputIterator first, InputIterator last); - - class filesystem_error; - - class directory_entry { - public: - directory_entry() noexcept = default; - directory_entry(const directory_entry&) = default; - directory_entry(directory_entry&&) noexcept = default; - explicit directory_entry(const filesystem::path& p); - directory_entry(const filesystem::path& p, error_code& ec); - ~directory_entry(); - - directory_entry& operator=(const directory_entry&) = default; - directory_entry& operator=(directory_entry&&) noexcept = default; - - void assign(const filesystem::path& p); - void assign(const filesystem::path& p, error_code& ec); - void replace_filename(const filesystem::path& p); - void replace_filename(const filesystem::path& p, error_code& ec); - void refresh(); - void refresh(error_code& ec) noexcept; - - const filesystem::path& path() const noexcept; - operator const filesystem::path&() const noexcept; - bool exists() const; - bool exists(error_code& ec) const noexcept; - bool is_block_file() const; - bool is_block_file(error_code& ec) const noexcept; - bool is_character_file() const; - bool is_character_file(error_code& ec) const noexcept; - bool is_directory() const; - bool is_directory(error_code& ec) const noexcept; - bool is_fifo() const; - bool is_fifo(error_code& ec) const noexcept; - bool is_other() const; - bool is_other(error_code& ec) const noexcept; - bool is_regular_file() const; - bool is_regular_file(error_code& ec) const noexcept; - bool is_socket() const; - bool is_socket(error_code& ec) const noexcept; - bool is_symlink() const; - bool is_symlink(error_code& ec) const noexcept; - uintmax_t file_size() const; - uintmax_t file_size(error_code& ec) const noexcept; - uintmax_t hard_link_count() const; - uintmax_t hard_link_count(error_code& ec) const noexcept; - file_time_type last_write_time() const; - file_time_type last_write_time(error_code& ec) const noexcept; - file_status status() const; - file_status status(error_code& ec) const noexcept; - file_status symlink_status() const; - file_status symlink_status(error_code& ec) const noexcept; - - bool operator==(const directory_entry& rhs) const noexcept; - bool operator!=(const directory_entry& rhs) const noexcept; // removed in C++20 - bool operator< (const directory_entry& rhs) const noexcept; // removed in C++20 - bool operator<=(const directory_entry& rhs) const noexcept; // removed in C++20 - bool operator> (const directory_entry& rhs) const noexcept; // removed in C++20 - bool operator>=(const directory_entry& rhs) const noexcept; // removed in C++20 - strong_ordering operator<=>(const directory_entry& rhs) const noexcept; // since C++20 - - template<class charT, class traits> - friend basic_ostream<charT, traits>& - operator<<(basic_ostream<charT, traits>& os, const directory_entry& d); - - private: - filesystem::path pathobject; // exposition only - friend class directory_iterator; // exposition only - }; - - class directory_iterator { - public: - using iterator_category = input_iterator_tag; - using value_type = directory_entry; - using difference_type = ptrdiff_t; - using pointer = const directory_entry*; - using reference = const directory_entry&; - - // [fs.dir.itr.members], member functions - directory_iterator() noexcept; - explicit directory_iterator(const path& p); - directory_iterator(const path& p, directory_options options); - directory_iterator(const path& p, error_code& ec); - directory_iterator(const path& p, directory_options options, - error_code& ec); - directory_iterator(const directory_iterator& rhs); - directory_iterator(directory_iterator&& rhs) noexcept; - ~directory_iterator(); - - directory_iterator& operator=(const directory_iterator& rhs); - directory_iterator& operator=(directory_iterator&& rhs) noexcept; - - const directory_entry& operator*() const; - const directory_entry* operator->() const; - directory_iterator& operator++(); - directory_iterator& increment(error_code& ec); - - bool operator==(default_sentinel_t) const noexcept { // since C++20 - return *this == directory_iterator(); - } - - // other members as required by [input.iterators], input iterators - }; - - // enable directory_iterator range-based for statements - directory_iterator begin(directory_iterator iter) noexcept; - directory_iterator end(directory_iterator) noexcept; - -class recursive_directory_iterator { - public: - using iterator_category = input_iterator_tag; - using value_type = directory_entry; - using difference_type = ptrdiff_t; - using pointer = const directory_entry*; - using reference = const directory_entry&; - - // [fs.rec.dir.itr.members], constructors and destructor - recursive_directory_iterator() noexcept; - explicit recursive_directory_iterator(const path& p); - recursive_directory_iterator(const path& p, directory_options options); - recursive_directory_iterator(const path& p, directory_options options, - error_code& ec); - recursive_directory_iterator(const path& p, error_code& ec); - recursive_directory_iterator(const recursive_directory_iterator& rhs); - recursive_directory_iterator(recursive_directory_iterator&& rhs) noexcept; - ~recursive_directory_iterator(); - - // [fs.rec.dir.itr.members], observers - directory_options options() const; - int depth() const; - bool recursion_pending() const; - - const directory_entry& operator*() const; - const directory_entry* operator->() const; - - // [fs.rec.dir.itr.members], modifiers - recursive_directory_iterator& - operator=(const recursive_directory_iterator& rhs); - recursive_directory_iterator& - operator=(recursive_directory_iterator&& rhs) noexcept; - - recursive_directory_iterator& operator++(); - recursive_directory_iterator& increment(error_code& ec); - - void pop(); - void pop(error_code& ec); - void disable_recursion_pending(); - - bool operator==(default_sentinel_t) const noexcept { // since C++20 - return *this == recursive_directory_iterator(); - } - - // other members as required by [input.iterators], input iterators - }; - - // enable recursive_directory_iterator range-based for statements - recursive_directory_iterator begin(recursive_directory_iterator iter) noexcept; - recursive_directory_iterator end(recursive_directory_iterator) noexcept; - - class file_status { - public: - // [fs.file.status.cons], constructors and destructor - file_status() noexcept : file_status(file_type::none) {} - explicit file_status(file_type ft, - perms prms = perms::unknown) noexcept; - file_status(const file_status&) noexcept = default; - file_status(file_status&&) noexcept = default; - ~file_status(); - - // assignments - file_status& operator=(const file_status&) noexcept = default; - file_status& operator=(file_status&&) noexcept = default; - - // [fs.file.status.mods], modifiers - void type(file_type ft) noexcept; - void permissions(perms prms) noexcept; - - // [fs.file.status.obs], observers - file_type type() const noexcept; - perms permissions() const noexcept; - - friend bool operator==(const file_status& lhs, const file_status& rhs) noexcept - { return lhs.type() == rhs.type() && lhs.permissions() == rhs.permissions(); } // C++20 - }; - - struct space_info - { - uintmax_t capacity; - uintmax_t free; - uintmax_t available; - - friend bool operator==(const space_info&, const space_info&) = default; // C++20 - }; - - enum class file_type; - enum class perms; - enum class perm_options; - enum class copy_options; - enum class directory_options; - - typedef chrono::time_point<trivial-clock> file_time_type; - - // operational functions - - path absolute(const path& p); - path absolute(const path& p, error_code &ec); - - path canonical(const path& p); - path canonical(const path& p, error_code& ec); - - void copy(const path& from, const path& to); - void copy(const path& from, const path& to, error_code& 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); - - bool copy_file(const path& from, const path& to); - bool copy_file(const path& from, const path& to, error_code& 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; - - path current_path(); - path current_path(error_code& ec); - void current_path(const path& p); - void current_path(const path& p, error_code& ec) noexcept; - - bool exists(file_status s) noexcept; - bool exists(const path& p); - bool exists(const path& p, error_code& ec) noexcept; - - bool equivalent(const path& p1, const path& p2); - bool equivalent(const path& p1, const path& p2, error_code& ec) noexcept; - - uintmax_t file_size(const path& p); - uintmax_t file_size(const path& p, error_code& ec) noexcept; - - uintmax_t hard_link_count(const path& p); - uintmax_t hard_link_count(const path& p, error_code& ec) noexcept; - - bool is_block_file(file_status s) noexcept; - bool is_block_file(const path& p); - bool is_block_file(const path& p, error_code& ec) noexcept; - - bool is_character_file(file_status s) noexcept; - bool is_character_file(const path& p); - bool is_character_file(const path& p, error_code& ec) noexcept; - - bool is_directory(file_status s) noexcept; - bool is_directory(const path& p); - bool is_directory(const path& p, error_code& ec) noexcept; - - bool is_empty(const path& p); - bool is_empty(const path& p, error_code& ec) noexcept; - - bool is_fifo(file_status s) noexcept; - bool is_fifo(const path& p); - bool is_fifo(const path& p, error_code& ec) noexcept; - - bool is_other(file_status s) noexcept; - bool is_other(const path& p); - bool is_other(const path& p, error_code& ec) noexcept; - - bool is_regular_file(file_status s) noexcept; - bool is_regular_file(const path& p); - bool is_regular_file(const path& p, error_code& ec) noexcept; - - bool is_socket(file_status s) noexcept; - bool is_socket(const path& p); - bool is_socket(const path& p, error_code& ec) noexcept; - - bool is_symlink(file_status s) noexcept; - bool is_symlink(const path& p); - bool is_symlink(const path& p, error_code& ec) noexcept; - - file_time_type last_write_time(const path& p); - 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); - void permissions(const path& p, perms prms, error_code& ec) noexcept; - void permissions(const path& p, perms prms, perm_options opts, - error_code& ec); - - path proximate(const path& p, error_code& ec); - path proximate(const path& p, const path& base = current_path()); - path proximate(const path& p, const path& base, error_code &ec); - - path read_symlink(const path& p); - path read_symlink(const path& p, error_code& ec); - - path relative(const path& p, error_code& ec); - path relative(const path& p, const path& base=current_path()); - 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; - - space_info space(const path& p); - space_info space(const path& p, error_code& ec) noexcept; - - file_status status(const path& p); - file_status status(const path& p, error_code& ec) noexcept; - - bool status_known(file_status s) noexcept; - - file_status symlink_status(const path& p); - file_status symlink_status(const path& p, error_code& ec) noexcept; - - path temp_directory_path(); - path temp_directory_path(error_code& ec); - - path weakly_canonical(path const& p); - path weakly_canonical(path const& p, error_code& ec); - -} // namespace std::filesystem - -template <> -inline constexpr bool std::ranges::enable_borrowed_range<std::filesystem::directory_iterator> = true; -template <> -inline constexpr bool std::ranges::enable_borrowed_range<std::filesystem::recursive_directory_iterator> = true; - -template <> -inline constexpr bool std::ranges::enable_view<std::filesystem::directory_iterator> = true; -template <> -inline constexpr bool std::ranges::enable_view<std::filesystem::recursive_directory_iterator> = true; - -*/ - -#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS) -# include <__cxx03/__config> -#else -# include <__config> - -# if _LIBCPP_STD_VER >= 17 -# include <__filesystem/copy_options.h> -# include <__filesystem/directory_entry.h> -# include <__filesystem/directory_iterator.h> -# include <__filesystem/directory_options.h> -# include <__filesystem/file_status.h> -# include <__filesystem/file_time_type.h> -# include <__filesystem/file_type.h> -# include <__filesystem/filesystem_error.h> -# include <__filesystem/operations.h> -# include <__filesystem/path.h> -# include <__filesystem/path_iterator.h> -# include <__filesystem/perm_options.h> -# include <__filesystem/perms.h> -# include <__filesystem/recursive_directory_iterator.h> -# include <__filesystem/space_info.h> -# include <__filesystem/u8path.h> -# endif - -# include <version> - -// standard-mandated includes - -// [fs.filesystem.syn] -# include <compare> - -# if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) -# pragma GCC system_header -# endif - -# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20 -# include <concepts> -# include <cstdlib> -# include <cstring> -# include <iosfwd> -# include <new> -# include <system_error> -# endif -#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS) - -#endif // _LIBCPP_FILESYSTEM |
