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

FreeBSD Manual Pages

  
 
  

home | help
std::ranges...ew::iterator(3) C++ Standard Libarystd::ranges...ew::iterator(3)

NAME
       std::ranges::join_with_view::iterator				     -
       std::ranges::join_with_view::iterator

Synopsis
	  template< bool Const >  (since C++23)
	  class	/*iterator*/	  (exposition only*)

	  The return type of join_with_view::begin, and	of join_with_view::end
       when both the
	  outer	range V	and the	inner range ranges::range_reference_t<V>  sat-
       isfy common_range
	  and the parent join_with_view	is a forward_range.

	  If either V or Pattern is not	a simple view, Const is	true for iter-
       ators returned
	  from	the const overloads, and false otherwise. If V and Pattern are
       simple views,
	  Const	is true	if and only if ranges::range_reference_t<V> is a  ref-
       erence.

Member types
       Member  type	   Definition  Parent		 const join_view<V> if
       Const is	true, otherwise	join_view<V>
			 (exposition-only	member	     type*)	  Base
       const V if Const	is true, otherwise V
			 (exposition-only      member	  type*)     InnerBase
       ranges::range_reference_t<Base>
			 (exposition-only    member	type*)	   PatternBase
       const Pattern if	Const is true, otherwise Pattern
			 (exposition-only member type*)
			   * std::bidirectional_iterator_tag, if
				*  ranges::range_reference_t<Base> is a	refer-
       ence type,
				* Base,	InnerBase and PatternBase  each	 model
       bidirectional_range,
				  and iterator_concept	       * InnerBase and
       PatternBase each	model common_range;
			   * std::forward_iterator_tag,	if
				*  ranges::range_reference_t<Base> is a	refer-
       ence type, and
				* Base and InnerBase each model	forward_range;
			   * std::input_iterator_tag otherwise.
			 Defined  only	if   iterator::iterator_concept	  (see
       above) denotes
			 std::forward_iterator_tag. Let	OUTERC be
			 std::iterator_traits<ranges::iterator_t<Base>>::iter-
       ator_category, INNERC
			 be
			 std::iterator_traits<ranges::iterator_t<Inner-
       Base>>::iterator_category,
			 and PATTERNC be
			 std::iterator_traits<ranges::iterator_t<Pattern-
       Base>>::iterator_category.

			   *   std::input_iterator_tag,	 if  iterator_category
       std::common_reference_t<ranges::range_reference_t<InnerBase>,
						     ranges::range_refer-
       ence_t<PatternBase>>
			     is	not a reference	type;
			   * std::bidirectional_iterator_tag, if:
				* OUTERC, INNERC, and PATTERNC each model
				  std::derived_from<std::bidirectional_itera-
       tor_tag>	and
				* ranges::range_reference_t<Base> and Pattern-
       Base each model
				  common_range;
			   * std::forward_iterator_tag,	if OUTERC, INNERC, and
       PATTERNC	each model
			     std::derived_from<std::forward_iterator_tag>;
			   *  std::input_iterator_tag  otherwise.   value_type
       std::common_type_t<ranges::range_value_t<InnerBase>,
					    ranges::range_value_t<Pattern-
       Base>>
			 std::common_type_t<ranges::range_difference_t<Base>,
       difference_type			     ranges::range_difference_t<Inner-
       Base>,
					    ranges::range_difference_t<Pat-
       ternBase>>

Member functions
	  constructor	  constructs an	iterator
	  (C++23)	  (public member function)
	  operator*	  accesses the element
	  (C++23)	  (public member function)
	  operator++
	  operator++(int) advances or decrements the underlying	iterator
	  operator--	  (public member function)
	  operator--(int)
	  (C++23)

Non-member functions
	  operator== compares the underlying iterators
	  (C++23)    (function)
	  iter_move  casts the result of dereferencing the underlying iterator
       to its
	  (C++23)    associated	rvalue reference type
		     (function)
	  iter_swap  swaps the objects pointed to by two underlying iterators
	  (C++23)    (function)

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

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

home | help