[libcxx][ranges] adds concept `sized_range` and cleans up `ranges::size`
* adds `sized_range` and conformance tests
* moves `disable_sized_range` into namespace `std::ranges`
* removes explicit type parameter
Implements part of P0896 'The One Ranges Proposal'.
Differential Revision: https://reviews.llvm.org/D102434
NOKEYCHECK=True
GitOrigin-RevId: d8fad6614923eea684f736e7d22fe54d5393f13f
diff --git a/include/ranges b/include/ranges
index 5401add..da443d7 100644
--- a/include/ranges
+++ b/include/ranges
@@ -50,6 +50,13 @@
template<range R>
using range_rvalue_reference_t = iter_rvalue_reference_t<iterator_t<R>>;
+ // [range.sized]
+ template<class>
+ inline constexpr bool disable_sized_range = false;
+
+ template<class T>
+ concept sized_range = ...;
+
// [range.view], views
template<class T>
inline constexpr bool enable_view = ...;