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

FreeBSD Manual Pages

  
 
  

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

NAME
       std::ranges::elements_view::iterator  - std::ranges::elements_view::it-
       erator

Synopsis
	  template< bool Const >  (exposition only*)
	  class	/*iterator*/;

	  The return type of elements_view::begin, and	of  elements_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
	  Base (private)    const V if Const is	true, otherwise	V.
			    (exposition-only member type*)
			    Denotes:
			      *	std::random_access_iterator_tag, if Base  mod-
       els
				random_access_range. Otherwise,
	  iterator_concept     * std::bidirectional_iterator_tag, if Base mod-
       els
				bidirectional_range. Otherwise,
			      *	std::forward_iterator_tag, if Base models for-
       ward_range.
				Otherwise,
			      *	std::input_iterator_tag.
			    Not	defined, if Base does not model	forward_range.
       Otherwise,
			      *	std::input_iterator_tag, if  std::get<N>(*cur-
       rent_) is an
				rvalue.	Otherwise, let C be the	type
	  iterator_category		      std::iterator_traits<std::itera-
       tor_t<Base>>::iterator_category.
			      *	std::random_access_iterator_tag, if C models
				std::derived_from<std::random_access_itera-
       tor_tag>. Otherwise,
			      *	C.
	  value_type	    std::remove_cvref_t<std::tuple_element_t<N,
			    ranges::range_value_t<Base>>>
	  difference_type   ranges::range_difference_t<Base>

	  Data members

	  Member object	     Definition
			     An	iterator of type  ranges::iterator_t<Base>  to
       current element
	  current_ (private) of	underlying sequence.
			     (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 N^th tuple 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)

	  Defect reports

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

	     DR	    Applied  to	       Behavior	as published		  Cor-
       rect behavior
	  P2259R1  C++20      member  iterator_category	 is  always    defined
       only if Base models
			      defined					  for-
       ward_range
	  LWG 3555 C++20      the definition  of  iterator_concept    made  to
       consider
			      ignores const

See also
	  iterator the return type of ranges::transform_view::begin, and of
	  (C++20)   ranges::transform_view::end	 when the underlying view is a
       common_range
		   (private member class template)

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

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

home | help