table of contents
        
      
      
    - Tumbleweed 2024.07.05-1.3
 - Leap-16.0
 
| std::ranges::chunk_view::inner-iterator(3) | C++ Standard Libary | std::ranges::chunk_view::inner-iterator(3) | 
NAME¶
std::ranges::chunk_view::inner-iterator - std::ranges::chunk_view::inner-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_iterator::value_type
  
   std::cout << '[';
  
   for (auto inner_iter = chunk.begin(); inner_iter != std::default_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.inner.iter]
See also¶
| 2024.06.10 | http://cppreference.com |