Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
std::ranges...tor::satisfy(3) C++ Standard Libarystd::ranges...tor::satisfy(3)

NAME
       std::ranges::join_view::iterator::satisfy - std::ranges::join_view::it-
       erator::satisfy

Synopsis
	  constexpr void satisfy();  (since C++20)
				     (exposition only*)

	  Skips	 over empty inner ranges and initializes the underlying	itera-
       tor inner_.

	  Let the constant /*ref-is-glvalue*/ be
	  std::is_reference_v<ranges::range_reference_t<Base>>.

	  The function body is equivalent to

	auto  update_inner  =  [this](const  ranges::iterator_t<Base>&	x)  ->
       auto&&
	{
	    if constexpr (/*ref-is-glvalue*/)	  // *x	is a reference
		return *x;
	    else
		return parent_->inner_./*emplace-deref*/(x);
	};

	for (; outer_ != ranges::end(parent_->base_); ++outer_)
	{
	    auto&& inner = update_inner(outer_);
	    inner_ = ranges::begin(inner);
	    if (inner_ != ranges::end(inner))
		return;
	}

	if constexpr (/*ref-is-glvalue*/)
	    inner_ = InnerIter();

Parameters
	  (none)

Return value
	  (none)

http://cppreference.com		  2024.06.10	 std::ranges...tor::satisfy(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::ranges::join_view::iterator::satisfy&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help