49 is_finite<Rng>::value ? finite : range_cardinality<Rng>::value>
55 detail::non_propagating_cache<iterator_t<Rng>> second_;
56 semiregular_box_t<Fun> fun_;
65 sentinel_t<Rng> last_;
66 semiregular_box_ref_or_val_t<Fun, false> fun_;
69 template<
typename I = iterator_t<Rng>>
72 return {cur_, next_cur_};
77 return {cur_, next_cur_};
83 auto partition_cur = adjacent_find(cur_, last_, not_fn(fun_));
85 partition_cur != last_ ? ranges::next(partition_cur) : partition_cur;
92 bool equal(cursor
const & that)
const
94 return cur_ == that.cur_;
96 cursor(semiregular_box_ref_or_val_t<Fun, false> fun,
iterator_t<Rng> first,
107 cursor begin_cursor()
109 auto first = ranges::begin(rng_);
110 auto last = ranges::end(rng_);
113 auto partition_cur = adjacent_find(first, last, not_fn(fun_));
115 partition_cur != last ? ranges::next(partition_cur) : partition_cur;
117 return {fun_, first, *second_, last};
121 chunk_by_view() =
default;
122 constexpr chunk_by_view(Rng rng, Fun fun)
123 : rng_(std::move(rng))
124 , fun_(std::move(fun))
RANGES_INLINE_VARIABLE(detail::to_container_fn< detail::from_range< std::vector > >, to_vector) template< template< typename... > class ContT > auto to(RANGES_HIDDEN_DETAIL(detail
For initializing a container of the specified type with the elements of an Range.
Definition conversion.hpp:399