50 (range_cardinality<Rng>::value >= 0)
51 ? detail::prev_or_zero_(range_cardinality<Rng>::value)
60 : rng_(
static_cast<Rng &&
>(rng))
66 return next(ranges::begin(rng_), 1, ranges::end(rng_));
68 template(
bool Const =
true)(
69 requires Const AND
range<meta::const_if_c<Const, Rng>>)
72 return next(ranges::begin(rng_), 1, ranges::end(rng_));
76 return ranges::end(rng_);
78 template(
bool Const =
true)(
79 requires Const AND
range<meta::const_if_c<Const, Rng>>)
80 sentinel_t<meta::const_if_c<Const, Rng>> end()
const
82 return ranges::end(rng_);
86 constexpr auto CPP_fun(size)()(
89 using size_type = range_size_t<Rng>;
92 : detail::prev_or_zero_(ranges::size(rng_));
95 constexpr auto CPP_fun(size)()(
const
98 using size_type = range_size_t<Rng>;
101 : detail::prev_or_zero_(ranges::size(rng_));