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

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

🌸 NAME 🌸

std::ranges::zip_transform_view::iterator::iterator β€” std::ranges::zip_transform_view::iterator::iterator.

Okay bestie, welcome to the C++ Standard Libary manual page std::ranges...or::iterator(3). The manual name is literally C++ Standard Libary, and the star of the show is that exact constructor name up there. No cap, it's giving full-path main character energy. πŸ‘‘

✨ Synopsis ✨

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

              requires Const &&                                         (2)
       (since C++23)

                       std::convertible_to</*ziperator*/<false>,
          /*ziperator*/<Const>>;
          constexpr /*iterator*/( Parent& parent, /*ziperator*/<Const>  (3)
       (exposition only*)
          inner );

Construct an iterator. That's the whole vibe. Here's the breakdown, bestie:

  1. Default constructor. It default-initializes the underlying iterators, and value-initializes the pointer to parent ranges::zip_transform_view with nullptr. Also it's (since C++23), so she's new new. πŸ’…
  2. Conversion from /*iterator*/<false> to /*iterator*/<true>. It move constructs the underlying pointer to parent parent_ with i.parent_ and inner_ with std::move(i.inner_). The constraint is requires Const && and std::convertible_to</*ziperator*/<false>, /*ziperator*/<Const>>; β€” yes, that's the exact spell. Also (since C++23). ✨
  3. Exposition-only joint. It initializes the pointer to parent parent_ with std::addressof(parent), and the underlying inner_ iterator with std::move(inner). It's marked (exposition only*) in the synopsis, and this constructor is not accessible to users. So admire it from afar, bestie. 🚨

🌈 Parameters 🌈

  • i β€” an /*iterator*/<false>.
  • parent β€” a (possibly const-qualified) ranges::zip_transform_view.
  • inner β€” an iterator of type ziperator<Const>.

πŸ¦‹ Example πŸ¦‹

This section is incomplete. Reason: no example.

So yeah, no example here β€” she's a work in progress, and honestly same. 🫠

🏷️ Category 🏷️

Category:

  • Todo no example

Big cute sign-off: this page came from http://cppreference.com, version/date 2024.06.10, and the footer name is std::ranges...or::iterator(3). That's the whole manual page, periodt. πŸ’–πŸŽ€βœ¨

πŸ“¦ where this page comes from