constexpr explicit cache_latest_view(V base);
constexpr auto begin();
constexpr auto end();
constexpr auto size() requires sized_range<V>;
constexpr auto size() const requires sized_range<const V>;
constexpr explicit iterator(cache_latest_view& parent);
constexpr iterator_t<V> base() &&;
constexpr const iterator_t<V>& base() const & noexcept;
constexpr iterator& operator++();
constexpr void operator++(int);
constexpr range_reference_t<V>& operator*() const;
friend constexpr range_rvalue_reference_t<V> iter_move(const iterator& i)
noexcept(noexcept(ranges::iter_move(i.current_)));
friend constexpr void iter_swap(const iterator& x, const iterator& y)
noexcept(noexcept(ranges::iter_swap(x.current_, y.current_)))
requires indirectly_swappable<iterator_t<V>>;
constexpr explicit sentinel(cache_latest_view& parent);
constexpr sentinel_t<V> base() const;
friend constexpr bool operator==(const iterator& x, const sentinel& y);
friend constexpr range_difference_t<V> operator-(const iterator& x, const sentinel& y)
requires sized_sentinel_for<sentinel_t<V>, iterator_t<V>>;
friend constexpr range_difference_t<V> operator-(const sentinel& x, const iterator& y)
requires sized_sentinel_for<sentinel_t<V>, iterator_t<V>>;