diff options
author | Andrey Khalyavin <[email protected]> | 2022-06-02 00:33:58 +0300 |
---|---|---|
committer | Andrey Khalyavin <[email protected]> | 2022-06-02 00:33:58 +0300 |
commit | e673b301b03ea16c0bdc9537de9501f1c9b4cf28 (patch) | |
tree | 27631393b7e7889db9ac6fcbd8e6b61b0f5a1ba0 /contrib/libs/cxxsupp/libcxx/include/iterator | |
parent | 5424a48cca3b5a79e8431052b74fafb9768e669e (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/iterator | 8 |
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 |