aboutsummaryrefslogtreecommitdiff
path: root/libstdc++-v3/include/ext
diff options
context:
space:
mode:
authorJonathan Wakely <jwakely@redhat.com>2020-02-06 11:21:25 +0000
committerJonathan Wakely <jwakely@redhat.com>2020-02-07 16:58:43 +0000
commitc8dd2446f597e6d1581414a9c02ff329285181a9 (patch)
tree2bd00d96b1d21587481af2fa80055328911e0f73 /libstdc++-v3/include/ext
parentd222d8ec3c100f5c0a6974e7dcee16903f6f0e3a (diff)
downloadgcc-c8dd2446f597e6d1581414a9c02ff329285181a9.zip
gcc-c8dd2446f597e6d1581414a9c02ff329285181a9.tar.gz
gcc-c8dd2446f597e6d1581414a9c02ff329285181a9.tar.bz2
libstdc++: Implement P1878R1 "Constraining Readable Types"
* include/bits/iterator_concepts.h (iter_difference_t, iter_value_t): Use remove_cvref_t. (readable_traits): Rename to indirectly_readable_traits. (readable): Rename to indirectly_readable. (writable): Rename to indirectly_writable. (__detail::__iter_exchange_move): Do not use remove_reference_t. (indirectly_swappable): Adjust requires expression parameter types. expression. * include/bits/ranges_algo.h (ranges::transform, ranges::replace) (ranges::replace_if, ranges::generate_n, ranges::generate) (ranges::remove): Use new name for writable. * include/bits/stl_iterator.h (__detail::__common_iter_has_arrow): Use new name for readable. * include/ext/pointer.h (readable_traits<_Pointer_adapter<P>>): Use new name for readable_traits. * testsuite/24_iterators/associated_types/readable.traits.cc: Likewise. * testsuite/24_iterators/indirect_callable/projected.cc: Adjust for new definition of indirectly_readable.
Diffstat (limited to 'libstdc++-v3/include/ext')
-rw-r--r--libstdc++-v3/include/ext/pointer.h8
1 files changed, 4 insertions, 4 deletions
diff --git a/libstdc++-v3/include/ext/pointer.h b/libstdc++-v3/include/ext/pointer.h
index 02d3e60..aef622e 100644
--- a/libstdc++-v3/include/ext/pointer.h
+++ b/libstdc++-v3/include/ext/pointer.h
@@ -47,7 +47,7 @@
# include <bits/ptr_traits.h>
#endif
#if __cplusplus > 201703L
-# include <iterator> // for readable_traits
+# include <iterator> // for indirectly_readable_traits
#endif
namespace __gnu_cxx _GLIBCXX_VISIBILITY(default)
@@ -598,11 +598,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
};
#if __cpp_lib_concepts
- template<typename _Storage_policy>
- struct readable_traits<__gnu_cxx::_Pointer_adapter<_Storage_policy>>
+ template<typename _Policy>
+ struct indirectly_readable_traits<__gnu_cxx::_Pointer_adapter<_Policy>>
{
using value_type
- = typename __gnu_cxx::_Pointer_adapter<_Storage_policy>::value_type;
+ = typename __gnu_cxx::_Pointer_adapter<_Policy>::value_type;
};
#endif
_GLIBCXX_END_NAMESPACE_VERSION