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

NAME
     std::ranges::stride_view::iterator - std::ranges::stride_view::iterator

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

	The  return type of stride_view::begin, and of stride_view::end when the
     underlying
	view V 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 overloads.

Member types
	Member type	  Definition
			  const ranges::stride_view if Const is true, otherwise
	Parent (private)  ranges::stride_view.
			  (exposition-only member type*)
	Base (private)	  const V if Const is true, otherwise V.
			  (exposition-only member type*)
	difference_type   ranges::range_difference_t<Base>
	value_type	  ranges::range_value_t<Base>
			    * std::random_access_iterator_tag, if Base models
			      random_access_range. Otherwise,
			    * std::bidirectional_iterator_tag, if Base models
	iterator_concept      bidirectional_range. Otherwise,
			    *  std::forward_iterator_tag,  if  Base  models for-
     ward_range.
			      Otherwise,
			    * std::input_iterator_tag.
			  Defined if and only if Base models forward_range.

			  Let C denote the type
	iterator_category  iterator_traits<iterator_t<Base>>::iterator_category.
     Then:

			    * std::random_access_iterator_tag, if C models
			      std::derived_from<std::random_access_itera-
     tor_tag>. Otherwise,
			    * C.

	Data members

	Member object	   Definition
			   ranges::iterator_t<Base>,  holds  an  iterator to the
     current
	current_ (private) element.
			   (exposition-only member object*)
	end_ (private)	   ranges::sentinel_t<Base>, holds  a  sentinel  to  the
     end.
			   (exposition-only member object*)
	stride_  (private)   ranges::range_difference_t<Base>,	holds the stride
     value.
			   (exposition-only member object*)
			   ranges::range_difference_t<Base>, usually  holds  the
     result of
	missing_ (private) ranges::advance(current_, stride_, end_).
			   (exposition-only member object*)

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

Non-member functions
	operator==
	operator<
	operator>   compares the underlying iterators
	operator<=  (function)
	operator>=
	operator<=>
	(C++23)
	operator+   performs iterator arithmetic
	operator-   (function)
	(C++23)
	iter_move   casts the result of dereferencing the underlying iterator to
     its
	(C++23)     associated rvalue reference type
		    (function)
	iter_swap   swaps underlying pointed-to elements
	(C++23)     (function)

Example
	 This section is incomplete
	 Reason: no example

References
	  * C++23 standard (ISO/IEC 14882:2023):

	  *  26.7.31.3 Class template stride_view::iterator [range.stride.itera-
     tor]

See also
Category:
	  * Todo no example

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

home | help