[range.chunk.outer.value] (original) (raw)

25 Ranges library [ranges]

25.7 Range adaptors [range.adaptors]

25.7.29 Chunk view [range.chunk]

25.7.29.4 Class chunk_view​::​_outer-iterator_​::​value_type [range.chunk.outer.value]

namespace std::ranges { template<view V> requires input_range<V> struct chunk_view<V>::outer-iterator::value_type : view_interface<value_type> { private: chunk_view* parent_; constexpr explicit value_type(chunk_view& parent); public: constexpr inner-iterator begin() const noexcept;constexpr default_sentinel_t end() const noexcept;constexpr auto size() const requires sized_sentinel_for<sentinel_t<V>, iterator_t<V>>;};}

constexpr explicit value_type(chunk_view& parent);

Effects: Initializes parent_ with addressof(parent).

constexpr _inner-iterator_ begin() const noexcept;

Returns: inner-iterator(*parent_).

constexpr default_sentinel_t end() const noexcept;

Returns: default_sentinel.

Effects: Equivalent to:return to-unsigned-like(ranges::min(_parent__->remainder_, ranges::end(_parent__->base_) - *_parent__->current_));