FreeBSD Manual Pages
std::ranges...ter-iterator(3) C++ Standard Libarystd::ranges...ter-iterator(3) NAME std::ranges::chunk_view::outer-iterator - std::ranges::chunk_view::outer-iterator Synopsis class /*outer-iterator*/ (since C++23) (exposition only*) The return type of chunk_view::begin if V models input_range. Member types Member type Definition iterator_concept std::input_iterator_tag difference_type ranges::range_difference_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) 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 number of chunks remaining (C++23) (function) Nested classes value_type the value type of /*output-iterator*/ (C++23) (public member class) Example // Run this code #include <iostream> #include <iterator> #include <ranges> #include <sstream> int main() { const std::string source{"ABCDEFGHIJ"}; auto letters = std::istringstream{source}; auto chunks = std::ranges::istream_view<char>(letters) | std::views::chunk(4); for (auto outer_iter = chunks.begin(); outer_iter != std::de- fault_sentinel; ++outer_iter) { auto chunk = *outer_iter; // 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'; // The same output using range-for loops auto letters2 = std::istringstream{source}; auto chunks2 = std::ranges::istream_view<char>(letters2) | std::views::chunk(4); for (auto chunk : chunks2) { std::cout << '['; for (auto ch : chunk) std::cout << ch; std::cout << "] "; } std::cout << '\n'; } Output: [ABCD] [EFGH] [IJ] [ABCD] [EFGH] [IJ] References * C++23 standard (ISO/IEC 14882:2023): * 26.7.28.3 Class chunk_view::outer-iterator [range.chunk.outer.iter] See also http://cppreference.com 2024.06.10 std::ranges...ter-iterator(3)
NAME | Synopsis | Member types | Member functions | Non-member functions | Example | Output: | References | See also
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::ranges::chunk_view::outer-iterator&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>
