Please use GitHub pull requests for new patches. Phabricator shutdown timeline
Changeset View
Changeset View
Standalone View
Standalone View
libcxx/include/__ranges/concepts.h
Show First 20 Lines • Show All 63 Lines • ▼ Show 20 Lines | namespace ranges { | ||||
template <range _Rp> | template <range _Rp> | ||||
using range_rvalue_reference_t = iter_rvalue_reference_t<iterator_t<_Rp>>; | using range_rvalue_reference_t = iter_rvalue_reference_t<iterator_t<_Rp>>; | ||||
// [range.sized] | // [range.sized] | ||||
template <class _Tp> | template <class _Tp> | ||||
concept sized_range = range<_Tp> && requires(_Tp& __t) { ranges::size(__t); }; | concept sized_range = range<_Tp> && requires(_Tp& __t) { ranges::size(__t); }; | ||||
template<sized_range _Rp> | |||||
using range_size_t = decltype(ranges::size(declval<_Rp&>())); | |||||
Quuxplusone: This is actually from section [range.range], not [range.sized]. I doubt we care. | |||||
Yeah, I couldn't put it in the section above cause it needs sized_range to be defined. I won't add another comment, that would just be confusing IMO. ldionne: Yeah, I couldn't put it in the section above cause it needs `sized_range` to be defined. I… | |||||
// `disable_sized_range` defined in `<__ranges/size.h>` | // `disable_sized_range` defined in `<__ranges/size.h>` | ||||
// [range.view], views | // [range.view], views | ||||
// `enable_view` defined in <__ranges/enable_view.h> | // `enable_view` defined in <__ranges/enable_view.h> | ||||
// `view_base` defined in <__ranges/enable_view.h> | // `view_base` defined in <__ranges/enable_view.h> | ||||
template <class _Tp> | template <class _Tp> | ||||
▲ Show 20 Lines • Show All 53 Lines • Show Last 20 Lines |
This is actually from section [range.range], not [range.sized]. I doubt we care.