[range.lazy.split.outer.value]

# 25 Ranges library [[ranges]](./#ranges)

## 25.7 Range adaptors [[range.adaptors]](range.adaptors#range.lazy.split.outer.value)

### 25.7.16 Lazy split view [[range.lazy.split]](range.lazy.split#outer.value)

#### 25.7.16.4 Class lazy_split_view​::​*outer-iterator*​::​value_type [range.lazy.split.outer.value]

[ð](#lib:lazy_split_view::outer-iterator::value_type)

namespace std::ranges {template<[input_range](range.refinements#concept:input_range "25.4.6 Other range refinements [range.refinements]") V, [forward_range](range.refinements#concept:forward_range "25.4.6 Other range refinements [range.refinements]") Pattern>requires [view](range.view#concept:view "25.4.5 Views [range.view]")<V> && [view](range.view#concept:view "25.4.5 Views [range.view]")<Pattern> &&[indirectly_comparable](alg.req.ind.cmp#concept:indirectly_comparable "24.3.7.5 Concept indirectly_­comparable [alg.req.ind.cmp]")<iterator_t<V>, iterator_t<Pattern>, ranges::equal_to> &&([forward_range](range.refinements#concept:forward_range "25.4.6 Other range refinements [range.refinements]")<V> || [*tiny-range*](range.lazy.split.view#concept:tiny-range "25.7.16.2 Class template lazy_­split_­view [range.lazy.split.view]")<Pattern>)template<bool Const>struct lazy_split_view<V, Pattern>::*outer-iterator*<Const>::value_type : view_interface<value_type> {private:*outer-iterator* *i_* = *outer-iterator*(); // *exposition only*constexpr explicit value_type(*outer-iterator* i); // *exposition only*public:constexpr *inner-iterator*<Const> begin() const; constexpr default_sentinel_t end() const noexcept; };}

[ð](#lib:lazy_split_view::outer-iterator::value_type,constructor)

`constexpr explicit value_type(outer-iterator i);
`

[1](#1)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/ranges.tex#L8171)

*Effects*: Initializes *i_* with std​::​move(i)[.](#1.sentence-1)

[ð](#lib:begin,lazy_split_view::outer-iterator::value_type)

`constexpr inner-iterator<Const> begin() const;
`

[2](#2)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/ranges.tex#L8182)

*Effects*: Equivalent to: return *inner-iterator*<Const>{*i_*};

[ð](#lib:end,lazy_split_view::outer-iterator::value_type)

`constexpr default_sentinel_t end() const noexcept;
`

[3](#3)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/ranges.tex#L8193)

*Effects*: Equivalent to: return default_sentinel;
