From 921a17ebcef4e608b2d0351bec7b649a30ba6ea8 Mon Sep 17 00:00:00 2001 From: Kp Date: Sun, 9 Oct 2022 23:15:20 +0000 Subject: [PATCH] Use requires() expression for partial_range range_index_type() A requires() expression is easier to read than the corresponding template parameter expression. --- common/include/partial_range.h | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/common/include/partial_range.h b/common/include/partial_range.h index b86c97e33..104a77b00 100644 --- a/common/include/partial_range.h +++ b/common/include/partial_range.h @@ -100,12 +100,15 @@ template < /* If `range_type::index_type` is not defined, fail. * If `range_type::index_type` is void, fail. */ - typename index_type = typename std::remove_reference::type::index_type &>::type, + typename index_type = typename std::remove_reference::type::index_type &>::type> /* If `range_type::index_type` is not a suitable argument to * range_type::operator[](), fail. */ - typename = decltype(std::declval().operator[](std::declval())) - > + requires( + requires(range_type &r, index_type i) { + r.operator[](i); + } + ) index_type range_index_type(std::nullptr_t); }