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

FreeBSD Manual Pages

  
 
  

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

NAME
       std::ranges::chunk_view::inner-iterator	- std::ranges::chunk_view::in-
       ner-iterator

Synopsis
	  class	/*inner-iterator*/  (since C++23)
				    (exposition	only*)

	  The return type of chunk_view::outer-iterator::value_type::begin  if
       V models
	  input_range.

Member types
	  Member type	   Definition
	  iterator_concept std::input_iterator_tag
	  difference_type  ranges::range_difference_t<V>
	  value_type	   ranges::range_value_t<V>

	  Data members

	  Member object	    Definition
	  parent_   (private)  A  pointer  to  the  "parent  object"  of  type
       ranges::chunk_view*.
			    (exposition-only member object*)

Member functions
	  constructor	constructs an iterator
	  (C++23)	(public	member function)
	  operator=	move assigns another iterator
	  (C++23)	(public	member function)
	  base		returns	an iterator to the current element
	  (C++23)	(public	member function)
	  operator*	accesses the element
	  (C++23)	(public	member function)
	  operator++	increments the iterator
	  (C++23)	(public	member function)

Non-member functions
	  operator== compares the iterator with	default	sentinel
	  (C++23)    (function)
	  operator-  calculates	the remained number of elements
	  (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)

Example
       // Run this code

	#include <iostream>
	#include <iterator>
	#include <ranges>
	#include <sstream>

	int main()
	{
	    auto letters = std::istringstream{"ABCDEFGHIJK"};

	    auto chunks	= std::ranges::istream_view<char>(letters)
			| std::views::chunk(4);

	    for	(auto chunk : chunks)
	    {
		//  chunk  is  an  object  of  type   chunk_view::outer_itera-
       tor::value_type
		std::cout << '[';
		for  (auto  inner_iter = chunk.begin();	inner_iter != std::de-
       fault_sentinel;
		     ++inner_iter)
		    std::cout << *inner_iter;
		std::cout << "]	";
	    }
	    std::cout << '\n';
	}

Output:
	[ABCD] [EFGH] [IJK]

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

	    *  26.7.28.5  Class	 chunk_view::inner-iterator   [range.chunk.in-
       ner.iter]

See also
http://cppreference.com		  2024.06.10	 std::ranges...ner-iterator(3)

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

home | help