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

NAME
     std::ranges::cartesian_product_view::iterator::iterator		       -
     std::ranges::cartesian_product_view::iterator::iterator

Synopsis
	/*iterator*/()	=  default;					     (1)
     (since C++23)
	constexpr /*iterator*/( /*iterator*/<!Const> i )

	    requires Const && (
		std::convertible_to<ranges::iterator_t<First>,
	ranges::iterator_t<const   First>>				     (2)
     (since C++23)
		&& ... &&
		std::convertible_to<ranges::iterator_t<Vs>,
	ranges::iterator_t<const Vs>>

	    );
	private:

	constexpr /*iterator*/(
	    /*Parent*/&  parent,					     (3)
     (exposition
	    std::tuple<ranges::iterator_t</*maybe-const*/<Const,	First>>,
     only*)

		       ranges::iterator_t</*maybe-const*/<Const, Vs>>...>
	current );

	Construct an iterator.

	1) Default constructor. Value-initializes the parent_ with nullptr and
	default-initializes the current_.
	2) Conversion from /*iterator*/<false> to  /*iterator*/<true>.	Initial-
     izes parent_
	with i.parent_ and current_ with std::move(i.current_).
	3)  A private constructor which is used by cartesian_product_view::begin
     and
	cartesian_product_view::end.  This  constructor  is  not  accessible  to
     users.
	Initializes parent_ with std::addressof(parent) and current_ with
	std::move(current).

Parameters
	i - an /*iterator*/<false>

Example
	 This section is incomplete
	 Reason: no example

Category:
	  * Todo no example

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

home | help