|  | // -*- 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 | 
|  | // | 
|  | //===----------------------------------------------------------------------===// | 
|  |  | 
|  | export namespace std::filesystem { | 
|  | // [fs.class.path], paths | 
|  | using std::filesystem::path; | 
|  |  | 
|  | // [fs.path.nonmember], path non-member functions | 
|  | using std::filesystem::hash_value; | 
|  | using std::filesystem::swap; | 
|  |  | 
|  | // [fs.class.filesystem.error], filesystem errors | 
|  | using std::filesystem::filesystem_error; | 
|  |  | 
|  | #if _LIBCPP_HAS_FILESYSTEM | 
|  | // [fs.class.directory.entry], directory entries | 
|  | using std::filesystem::directory_entry; | 
|  |  | 
|  | // [fs.class.directory.iterator], directory iterators | 
|  | using std::filesystem::directory_iterator; | 
|  |  | 
|  | // [fs.dir.itr.nonmembers], range access for directory iterators | 
|  | using std::filesystem::begin; | 
|  | using std::filesystem::end; | 
|  |  | 
|  | // [fs.class.rec.dir.itr], recursive directory iterators | 
|  | using std::filesystem::recursive_directory_iterator; | 
|  | #endif // _LIBCPP_HAS_FILESYSTEM | 
|  |  | 
|  | // [fs.rec.dir.itr.nonmembers], range access for recursive directory iterators | 
|  |  | 
|  | // [fs.class.file.status], file status | 
|  | using std::filesystem::file_status; | 
|  | using std::filesystem::space_info; | 
|  |  | 
|  | // [fs.enum], enumerations | 
|  | using std::filesystem::copy_options; | 
|  | using std::filesystem::directory_options; | 
|  | using std::filesystem::file_type; | 
|  | using std::filesystem::perm_options; | 
|  | using std::filesystem::perms; | 
|  |  | 
|  | using std::filesystem::file_time_type; | 
|  |  | 
|  | // several of these enums are a bitmask type. | 
|  | // [bitmask.types] specified operators | 
|  | using std::filesystem::operator&; | 
|  | using std::filesystem::operator&=; | 
|  | using std::filesystem::operator^; | 
|  | using std::filesystem::operator^=; | 
|  | using std::filesystem::operator|; | 
|  | using std::filesystem::operator|=; | 
|  | using std::filesystem::operator~; | 
|  |  | 
|  | #if _LIBCPP_HAS_FILESYSTEM | 
|  | // [fs.op.funcs], filesystem operations | 
|  | using std::filesystem::absolute; | 
|  | using std::filesystem::canonical; | 
|  | using std::filesystem::copy; | 
|  | using std::filesystem::copy_file; | 
|  | using std::filesystem::copy_symlink; | 
|  | using std::filesystem::create_directories; | 
|  | using std::filesystem::create_directory; | 
|  | using std::filesystem::create_directory_symlink; | 
|  | using std::filesystem::create_hard_link; | 
|  | using std::filesystem::create_symlink; | 
|  | using std::filesystem::current_path; | 
|  | using std::filesystem::equivalent; | 
|  | using std::filesystem::exists; | 
|  | using std::filesystem::file_size; | 
|  | using std::filesystem::hard_link_count; | 
|  |  | 
|  | using std::filesystem::is_block_file; | 
|  | using std::filesystem::is_character_file; | 
|  | using std::filesystem::is_directory; | 
|  | using std::filesystem::is_empty; | 
|  | using std::filesystem::is_fifo; | 
|  | using std::filesystem::is_other; | 
|  | using std::filesystem::is_regular_file; | 
|  | using std::filesystem::is_socket; | 
|  | using std::filesystem::is_symlink; | 
|  |  | 
|  | using std::filesystem::last_write_time; | 
|  | using std::filesystem::permissions; | 
|  | using std::filesystem::proximate; | 
|  | using std::filesystem::read_symlink; | 
|  | using std::filesystem::relative; | 
|  | using std::filesystem::remove; | 
|  |  | 
|  | using std::filesystem::remove_all; | 
|  | using std::filesystem::rename; | 
|  | using std::filesystem::resize_file; | 
|  | using std::filesystem::space; | 
|  | using std::filesystem::status; | 
|  | using std::filesystem::status_known; | 
|  | using std::filesystem::symlink_status; | 
|  | using std::filesystem::temp_directory_path; | 
|  | using std::filesystem::weakly_canonical; | 
|  | #endif // _LIBCPP_HAS_FILESYSTEM | 
|  |  | 
|  | // [depr.fs.path.factory] | 
|  | using std::filesystem::u8path; | 
|  | } // namespace std::filesystem | 
|  |  | 
|  | // [fs.path.hash], hash support | 
|  | export namespace std { | 
|  | using std::hash; | 
|  | } | 
|  |  | 
|  | export namespace std::ranges { | 
|  | #if _LIBCPP_HAS_FILESYSTEM | 
|  | using std::ranges::enable_borrowed_range; | 
|  | using std::ranges::enable_view; | 
|  | #endif // _LIBCPP_HAS_FILESYSTEM | 
|  | } // namespace std::ranges |