+2019-11-14 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/bits/iterator_concepts.h (disable_sized_sentinel): Rename to
+ disable_sized_sentinel_for.
+ * testsuite/24_iterators/headers/iterator/synopsis_c++20.cc: Adjust.
+
2019-11-13 Jonathan Wakely <jwakely@redhat.com>
* libsupc++/compare (strong_order, weak_order, partial_order)
&& __detail::__weakly_eq_cmp_with<_Sent, _Iter>;
template<typename _Sent, typename _Iter>
- inline constexpr bool disable_sized_sentinel = false;
+ inline constexpr bool disable_sized_sentinel_for = false;
template<typename _Sent, typename _Iter>
concept sized_sentinel_for = sentinel_for<_Sent, _Iter>
- && !disable_sized_sentinel<remove_cv_t<_Sent>, remove_cv_t<_Iter>>
+ && !disable_sized_sentinel_for<remove_cv_t<_Sent>, remove_cv_t<_Iter>>
&& requires(const _Iter& __i, const _Sent& __s)
{
{ __s - __i } -> same_as<iter_difference_t<_Iter>>;
# if __cplusplus > 201703L && defined __cpp_lib_concepts
template<typename _Iterator1, typename _Iterator2>
requires (!sized_sentinel_for<_Iterator1, _Iterator2>)
- inline constexpr bool disable_sized_sentinel<reverse_iterator<_Iterator1>,
- reverse_iterator<_Iterator2>>
- = true;
+ inline constexpr bool
+ disable_sized_sentinel_for<reverse_iterator<_Iterator1>,
+ reverse_iterator<_Iterator2>> = true;
# endif // C++20
# endif // C++14
}
struct I { };
-template<> constexpr bool std::disable_sized_sentinel<I, I> = true;
+template<> constexpr bool std::disable_sized_sentinel_for<I, I> = true;
namespace __gnu_test
{
constexpr auto* iter_move = &std::ranges::iter_move;
constexpr auto* iter_swap = &std::ranges::iter_swap;
// sized sentinels
- constexpr bool const* disable_sized_sentinel
- = &std::disable_sized_sentinel<void, void>;
+ constexpr bool const* disable_sized_sentinel_for
+ = &std::disable_sized_sentinel_for<void, void>;
// default sentinels
constexpr std::default_sentinel_t const* default_sentinel
= &std::default_sentinel;