diff options
author | arcadia-devtools <arcadia-devtools@yandex-team.ru> | 2022-02-10 17:53:52 +0300 |
---|---|---|
committer | arcadia-devtools <arcadia-devtools@yandex-team.ru> | 2022-02-10 17:53:52 +0300 |
commit | 5c64b97bb7e4034eff8833e4c367f61d34fcb4ee (patch) | |
tree | 7c5769528f2fcdaa5a718aa73e4aa64d50905269 /contrib/libs/cxxsupp/libcxx/include/filesystem | |
parent | 1b56f620ac98766b198121ca1b728e7e61efbb56 (diff) | |
download | ydb-5c64b97bb7e4034eff8833e4c367f61d34fcb4ee.tar.gz |
intermediate changes
ref:4635f4dd763168c3fa295f87727595c785b4d5a4
Diffstat (limited to 'contrib/libs/cxxsupp/libcxx/include/filesystem')
-rw-r--r-- | contrib/libs/cxxsupp/libcxx/include/filesystem | 37 |
1 files changed, 31 insertions, 6 deletions
diff --git a/contrib/libs/cxxsupp/libcxx/include/filesystem b/contrib/libs/cxxsupp/libcxx/include/filesystem index f503343f87..8c75d88c87 100644 --- a/contrib/libs/cxxsupp/libcxx/include/filesystem +++ b/contrib/libs/cxxsupp/libcxx/include/filesystem @@ -11,7 +11,7 @@ /* filesystem synopsis - namespace std { namespace filesystem { + namespace std::filesystem { class path; @@ -48,13 +48,13 @@ // enable directory_iterator range-based for statements directory_iterator begin(directory_iterator iter) noexcept; - directory_iterator end(const directory_iterator&) noexcept; + directory_iterator end(directory_iterator) noexcept; class recursive_directory_iterator; // enable recursive_directory_iterator range-based for statements recursive_directory_iterator begin(recursive_directory_iterator iter) noexcept; - recursive_directory_iterator end(const recursive_directory_iterator&) noexcept; + recursive_directory_iterator end(recursive_directory_iterator) noexcept; class file_status; @@ -224,14 +224,25 @@ path weakly_canonical(path const& p); path weakly_canonical(path const& p, error_code& ec); +} // namespace std::filesystem -} } // namespaces 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; */ #include <__availability> #include <__config> #include <__debug> +#include <__ranges/enable_borrowed_range.h> +#include <__ranges/enable_view.h> #include <__utility/forward.h> #include <chrono> #include <compare> @@ -961,6 +972,7 @@ public: _PathCVT<_ItVal>::__append_range(__pn_, __first, __last); } +/* #if !defined(_LIBCPP_HAS_NO_LOCALIZATION) // TODO Implement locale conversions. template <class _Source, class = _EnableIfPathable<_Source, void> > @@ -969,6 +981,7 @@ public: path(_InputIt __first, _InputIt _last, const locale& __loc, format = format::auto_format); #endif +*/ _LIBCPP_INLINE_VISIBILITY ~path() = default; @@ -2875,7 +2888,7 @@ begin(directory_iterator __iter) noexcept { } inline _LIBCPP_INLINE_VISIBILITY directory_iterator -end(const directory_iterator&) noexcept { +end(directory_iterator) noexcept { return directory_iterator(); } @@ -3007,7 +3020,7 @@ begin(recursive_directory_iterator __iter) noexcept { } inline _LIBCPP_INLINE_VISIBILITY recursive_directory_iterator -end(const recursive_directory_iterator&) noexcept { +end(recursive_directory_iterator) noexcept { return recursive_directory_iterator(); } @@ -3015,6 +3028,18 @@ _LIBCPP_AVAILABILITY_FILESYSTEM_POP _LIBCPP_END_NAMESPACE_FILESYSTEM +#if !defined(_LIBCPP_HAS_NO_RANGES) +template <> +inline constexpr bool _VSTD::ranges::enable_borrowed_range<_VSTD_FS::directory_iterator> = true; +template <> +inline constexpr bool _VSTD::ranges::enable_borrowed_range<_VSTD_FS::recursive_directory_iterator> = true; + +template <> +inline constexpr bool _VSTD::ranges::enable_view<_VSTD_FS::directory_iterator> = true; +template <> +inline constexpr bool _VSTD::ranges::enable_view<_VSTD_FS::recursive_directory_iterator> = true; +#endif + #endif // !_LIBCPP_CXX03_LANG #ifdef _LIBCPP_COMPILER_MSVC |