home | help
std::ranges...r::iterator(3)   C++ Standard Libary  std::ranges...r::iterator(3)

NAME
     std::ranges::join_view::iterator::iterator - std::ranges::join_view::itera-
     tor::iterator

Synopsis
	/*iterator*/()	  requires    std::default_initializable<OuterIter>   &&
     (1) (since
				std::default_initializable<InnerIter> = default;
     C++20)
	constexpr   /*iterator*/(   Parent&   parent,	OuterIter    outer    );
     (2) (since
										     C++20)
	constexpr /*iterator*/( /*iterator*/<!Const> i )

	  requires			      Const			      &&
     (3) (since
		   std::convertible_to<ranges::iterator_t<V>,	OuterIter>    &&
     C++20)

		   std::convertible_to<ranges::iterator_t<InnerRng>, InnerIter>;

	Construct an iterator.

	1)  Default constructor. Value-initializes the underlying iterators, and
     initializes
	the pointer to parent ranges::join_view with nullptr.
	2) Initializes the underlying outer_ iterator with std::move(outer), and
     the pointer
	to parent parent_ with std::addressof(parent); then calls satisfy().
	3) Conversion from /*iterator*/<false> to /*iterator*/<true>. Move  con-
     structs the
	underlying iterators outer_ with std::move(i.outer_), inner_ with
	std::move(i.inner_),  and  underlying  pointer	to  parent  parent_ with
     i.parent_.

Parameters
	parent - a (possibly const-qualified) ranges::join_view
	outer  - an  iterator  into  (possibly	const-qualified)  ranges::itera-
     tor_t<Base>
	i      - an /*iterator*/<false>

Example
	 This section is incomplete
	 Reason: no example

Category:
	  * Todo no example

http://cppreference.com 	   2024.06.10	    std::ranges...r::iterator(3)

home | help