/*iterator*/() requires std::default_initializable<ranges::iterator_t<Base>> = default; | (1) | (since C++23) |
constexpr /*iterator*/( /*iterator*/<!Const> i ) requires Const && std::convertible_to<ranges::iterator_t<V>, ranges::iterator_t<Base>> && std::convertible_to<ranges::iterator_t<ranges::range_reference_t<V>>, ranges::iterator_t<InnerBase>> && std::convertible_to<ranges::iterator_t<Pattern>, ranges::iterator_t<PatternBase>>; | (2) | (since C++23) |
Construct an iterator.
Base
and the iterator to PatternBase
, and initializes the pointer to parent join_with_view
with nullptr
./*iterator*/<false>
to /*iterator*/<true>
. Move constructs corresponding members.This iterator also has a private constructor which is used by join_with_view::begin
and join_with_view::end
. This constructor is not accessible to users.
i | - | an /*iterator*/<false> |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/ranges/join_with_view/iterator/iterator