summaryrefslogtreecommitdiffstats
path: root/contrib/libs/cxxsupp/libcxx/include/iterator
diff options
context:
space:
mode:
authorAndrey Khalyavin <[email protected]>2022-06-02 00:33:58 +0300
committerAndrey Khalyavin <[email protected]>2022-06-02 00:33:58 +0300
commite673b301b03ea16c0bdc9537de9501f1c9b4cf28 (patch)
tree27631393b7e7889db9ac6fcbd8e6b61b0f5a1ba0 /contrib/libs/cxxsupp/libcxx/include/iterator
parent5424a48cca3b5a79e8431052b74fafb9768e669e (diff)
Update libc++ to eaadc451 (4 Feb 2022).
Notable changes: * fix chrono::duration constructor constraint * delete base class for std::basic_string * add ranges::in_out_out_result and ranges::in_in_out_result * implement indirectly_copyable{,_storable} concepts * rename __referenceable to __can_reference to match text of the standard * add _LIBCPP_HAS_NO_CONCEPTS guards where concepts are used * simplify no concepts guards * add specifications for basic_common_reference and common_type for pair * make _VSTD an alias for std so that it can be removed in the future * remove std from friend declaration to facilitate switch from _VSTD to std * fix TOCTOU issue with std::filesystem::remove_all * add additional constraints to std::ranges::get for subranges when N == 0 * pick unique bit for __regex_word constant * use vsnprintf instead of _vsnprintf on Windows * ADL-proof ranges::iter_swap and ranges::iter_move * implement std::ranges::distance * merge _LIBCPP_HAS_NO_RANGES into _LIBCPP_HAS_NO_CONCEPTS ref:b637aa39f39243eeac99a2109af1daaac7c29316
Diffstat (limited to 'contrib/libs/cxxsupp/libcxx/include/iterator')
-rw-r--r--contrib/libs/cxxsupp/libcxx/include/iterator8
1 files changed, 8 insertions, 0 deletions
diff --git a/contrib/libs/cxxsupp/libcxx/include/iterator b/contrib/libs/cxxsupp/libcxx/include/iterator
index 29097a9aa8b..2b98db084cb 100644
--- a/contrib/libs/cxxsupp/libcxx/include/iterator
+++ b/contrib/libs/cxxsupp/libcxx/include/iterator
@@ -136,6 +136,13 @@ template<class In, class Out>
template<class In, class Out>
concept indirectly_movable_storable = see below; // since C++20
+// [alg.req.ind.copy], concept indirectly_copyable
+template<class In, class Out>
+ concept indirectly_copyable = see below; // since C++20
+
+template<class In, class Out>
+ concept indirectly_copyable_storable = see below; // since C++20
+
// [alg.req.ind.swap], concept indirectly_swappable
template<class I1, class I2 = I1>
concept indirectly_swappable = see below; // since C++20
@@ -165,6 +172,7 @@ struct output_iterator_tag {};
struct forward_iterator_tag : public input_iterator_tag {};
struct bidirectional_iterator_tag : public forward_iterator_tag {};
struct random_access_iterator_tag : public bidirectional_iterator_tag {};
+struct contiguous_iterator_tag : public random_access_iterator_tag {};
// 27.4.3, iterator operations
template <class InputIterator, class Distance> // constexpr in C++17