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::transform_view::iterator	   -	   std::ranges::trans-
       form_view::iterator

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

	  The return type of transform_view::begin, and	of transform_view::end
       when the
	  underlying view is a common_range.

	  The type /*iterator*/<true> is returned by the const-qualified over-
       loads. The type
	  /*iterator*/<false> is returned  by  the  non-const-qualified	 over-
       loads.

Member types
	  Member type	    Definition
			    const  ranges::transform_view<V,  F>  if  Const is
       true, otherwise
	  Parent (private)  ranges::transform_view<V, F>.
			    (exposition-only member type*)
	  Base (private)    const V if Const is	true, otherwise	V.
			    (exposition-only member type*)
			    std::random_access_iterator_tag if Base models
			    random_access_range,
	  iterator_concept  std::bidirectional_iterator_tag if Base models
			    bidirectional_range,
			    std::forward_iterator_tag  if  Base	 models	  for-
       ward_range,
			    std::input_iterator_tag otherwise.
			    Not	defined	if Base	does not model forward_range.
			    Otherwise, if std::invoke_result_t<F&,
			    ranges::range_reference_t<Base>>  is  not a	refer-
       ence,
			    std::input_iterator_tag.
	  iterator_category
			    Else, let C	be
			    std::iterator_traits<ranges::itera-
       tor_t<Base>>::iterator_category.
			    If C is std::contiguous_iterator_tag, the type is
			    std::random_access_iterator_tag;  otherwise,   the
       type is C.
	  value_type	    std::remove_cvref_t<std::invoke_result_t<F&,
			    ranges::range_reference_t<Base>>>
	  difference_type   ranges::range_difference_t<Base>

	  Data members

	  Member object	     Definition
	  current_ (private) An	iterator into (possibly	const-qualified) V.
			     (exposition-only member object*)
	  parent_ (private)  A pointer to parent transform_view.
			     (exposition-only member object*)

Member functions
	  constructor	  constructs an	iterator
	  (C++20)	  (public member function)
	  base		  returns the underlying iterator
	  (C++20)	  (public member function)
	  operator*	  accesses the transformed element
	  (C++20)	  (public member function)
	  operator[]	  accesses an element by index
	  (C++20)	  (public member function)
	  operator++
	  operator++(int)
	  operator--	  advances or decrements the underlying	iterator
	  operator--(int) (public member function)
	  operator+=
	  operator-=
	  (C++20)

Non-member functions
	  operator==
	  operator<
	  operator>   compares the underlying iterators
	  operator<=  (function)
	  operator>=
	  operator<=>
	  (C++20)
	  operator+   performs iterator	arithmetic
	  operator-   (function)
	  (C++20)
	  iter_move   obtains an rvalue	reference to the transformed element
	  (C++20)     (function)

	  Defect reports

	  The following	behavior-changing defect reports were applied retroac-
       tively to
	  previously published C++ standards.

	     DR	       Applied	   to		   Behavior    as    published
       Correct behavior
	  P2259R1  C++20      member iterator_category is always  defined  de-
       fined only if Base
									 mod-
       els forward_range
	  LWG  3555 C++20      the definition of iterator_concept ignores made
       to consider
			      const
	  LWG 3798 C++20      iterator_category	is input-only  if	   may
       have a stronger
			      transformation result is rvalue reference	 cate-
       gory

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::transform_view::iterator&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help