From db58c8e919e0045052e481db426304986bac3cd9 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Fran=C3=A7ois=20Dumont?= Date: Tue, 26 Nov 2019 06:07:23 +0000 Subject: [PATCH] libstdc++: Add _GLIBCXX_DEBUG safe iterator C++20 iterator concept * include/debug/safe_iterator.h [__cpp_lib_concepts](_Safe_iterator<>::iterator_concept): Define for C++20. From-SVN: r278717 --- libstdc++-v3/ChangeLog | 6 ++++++ libstdc++-v3/include/debug/safe_iterator.h | 4 ++++ 2 files changed, 10 insertions(+) diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 4ea06a37a1f9..986ac2a00c6d 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,9 @@ +2019-11-26 François Dumont + + * include/debug/safe_iterator.h + [__cpp_lib_concepts](_Safe_iterator<>::iterator_concept): Define for + C++20. + 2019-11-25 Jonathan Wakely * include/bits/iterator_concepts.h (ranges::iter_swap): Fix parameter diff --git a/libstdc++-v3/include/debug/safe_iterator.h b/libstdc++-v3/include/debug/safe_iterator.h index 6700eafca0b4..fa0d03f39dc1 100644 --- a/libstdc++-v3/include/debug/safe_iterator.h +++ b/libstdc++-v3/include/debug/safe_iterator.h @@ -140,6 +140,10 @@ namespace __gnu_debug typedef typename _Traits::reference reference; typedef typename _Traits::pointer pointer; +#if __cplusplus > 201703L && __cpp_lib_concepts + using iterator_concept = std::__detail::__iter_concept<_Iterator>; +#endif + /// @post the iterator is singular and unattached _Safe_iterator() _GLIBCXX_NOEXCEPT : _Iter_base() { } -- 2.47.2