Changeset View
Changeset View
Standalone View
Standalone View
libcxx/include/__ranges/concepts.h
Show First 20 Lines • Show All 83 Lines • ▼ Show 20 Lines | namespace ranges { | ||||
template<class _Range> | template<class _Range> | ||||
concept __simple_view = | concept __simple_view = | ||||
view<_Range> && range<const _Range> && | view<_Range> && range<const _Range> && | ||||
same_as<iterator_t<_Range>, iterator_t<const _Range>> && | same_as<iterator_t<_Range>, iterator_t<const _Range>> && | ||||
same_as<sentinel_t<_Range>, iterator_t<const _Range>>; | same_as<sentinel_t<_Range>, iterator_t<const _Range>>; | ||||
// [range.refinements], other range refinements | // [range.refinements], other range refinements | ||||
template <class _Rp, class _Tp> | |||||
concept output_range = range<_Rp> && output_iterator<iterator_t<_Rp>, _Tp>; | |||||
template <class _Tp> | template <class _Tp> | ||||
concept input_range = range<_Tp> && input_iterator<iterator_t<_Tp> >; | concept input_range = range<_Tp> && input_iterator<iterator_t<_Tp> >; | ||||
Quuxplusone: Might drive-by condense these `>>`s. | |||||
ldionneAuthorUnsubmitted Will do in a separate NFC commit. ldionne: Will do in a separate NFC commit. | |||||
template <class _Tp> | template <class _Tp> | ||||
concept forward_range = input_range<_Tp> && forward_iterator<iterator_t<_Tp> >; | concept forward_range = input_range<_Tp> && forward_iterator<iterator_t<_Tp> >; | ||||
template <class _Tp> | template <class _Tp> | ||||
concept bidirectional_range = forward_range<_Tp> && bidirectional_iterator<iterator_t<_Tp> >; | concept bidirectional_range = forward_range<_Tp> && bidirectional_iterator<iterator_t<_Tp> >; | ||||
template <class _Tp> | template <class _Tp> | ||||
Show All 31 Lines |
Might drive-by condense these >>s.