| ||||||||||||||||||||||
| Range primitives | |||||||
| |||||||
| Range concepts | |||||||||||||||||||
| |||||||||||||||||||
| Range factories | |||||||||
| |||||||||
| Range adaptors | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Helper items | |||||||||||||||||
| |||||||||||||||||
| Member functions | ||||
| Deduction guides | ||||
| Iterator | ||||
join_view::iterator::iterator | ||||
| Sentinel | ||||
/*iterator*/() requiresstd::default_initializable<OuterIter>&& std::default_initializable<InnerIter>=default; | (1) | (since C++20) |
constexpr/*iterator*/( Parent& parent, OuterIter outer); | (2) | (since C++20) |
constexpr/*iterator*/(/*iterator*/<!Const> i) requires Const&& | (3) | (since C++20) |
Constructs an iterator.
outer_ iterator withstd::move(outer), and the pointer to parentparent_ withstd::addressof(parent); then callssatisfy().outer_ withstd::move(i.outer_),inner_ withstd::move(i.inner_), and underlying pointer to parentparent_ withi.parent_.| parent | - | a (possibly const-qualified)ranges::join_view |
| outer | - | an iterator into (possibly const-qualified)ranges::iterator_t<Base> |
| i | - | an/*iterator*/<false> |
| This section is incomplete Reason: no example |