std::ranges...or::iterator(3)

πŸ“¦ version 2024.07.05, in nixpkgs unstable, opensuse-leap 16.0

okay so bestie, welcome to std::ranges...or::iterator(3) from the C++ Standard Libary β€” yes, that manual name is spelled exactly like that, typo and all, no cap πŸ’…. This page is about std::ranges::zip_view::iterator::iterator, and we are keeping every little detail because that's the whole point, periodt.

πŸ“› NAME

It's std::ranges::zip_view::iterator::iterator β€” and the original literally prints it twice, so here's both, bestie: std::ranges::zip_view::iterator::iterator and std::ranges::zip_view::iterator::iterator ✨.

🧾 Synopsis

Here's the synopsis verbatim, chaotic line breaks and all β€” do not come for me, I'm just the messenger 🫢:

          /*iterator*/() = default;
       (1) (since C++23)
          constexpr /*iterator*/( /*iterator*/<!Const> i )

              requires Const &&
                  (std::convertible_to<ranges::iterator_t<Views>,
       (2) (since C++23)

           ranges::iterator_t</*maybe-const*/<Const, Views>>> && ...);

Construct an iterator.

  1. Default constructor. Value-initializes the underlying tuple of iterators to their default values.
  2. Conversion from /*iterator*/<false> to /*iterator*/<true>. Move constructs the underlying tuple of iterators current_ with std::move(i.current).

Also lowkey important: this iterator has a private constructor which is used by zip_view::begin and zip_view::end. That constructor is not accessible to users, so don't try it, bestie πŸš«πŸ’….

πŸŽ›οΈ Parameters

  • i β€” an /*iterator*/<false>

🌸 Example

This section is incomplete β€” Reason: no example πŸ™ˆ. That's literally all it says, no cap.

πŸ—‚οΈ Category

  • Todo no example

before you go: source/version http://cppreference.com, date 2024.06.10, page std::ranges...or::iterator(3) β€” mwah, slay, bye 🫢✨

πŸ“¦ where this page comes from