aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrançois Dumont <fdumont@gcc.gnu.org>2019-11-26 06:07:23 +0000
committerFrançois Dumont <fdumont@gcc.gnu.org>2019-11-26 06:07:23 +0000
commit283dd37673270e4ca5d3900f881b60526e3207f3 (patch)
tree3ed196be807c5b2272f8dc94572f94d6dbe7ce45
parenta068ebace4414281756675cb2ba036ac99e39837 (diff)
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. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@278717 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--libstdc++-v3/ChangeLog6
-rw-r--r--libstdc++-v3/include/debug/safe_iterator.h4
2 files changed, 10 insertions, 0 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 4ea06a37a1f..986ac2a00c6 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,9 @@
+2019-11-26 François Dumont <fdumont@gcc.gnu.org>
+
+ * include/debug/safe_iterator.h
+ [__cpp_lib_concepts](_Safe_iterator<>::iterator_concept): Define for
+ C++20.
+
2019-11-25 Jonathan Wakely <jwakely@redhat.com>
* 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 6700eafca0b..fa0d03f39dc 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() { }