std::flat_multiset::rend,(3)

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

πŸ’– std::flat_multiset::rend,(3) πŸ’–

okay so bestie, this is the C++ Standard Libary manual page for std::flat_multiset::rend β€” yes, that’s the manual name, spelling and all, iykyk πŸ‘€. It’s giving reverse-iterator realness, and we’re keeping every detail exactly intact. Periodt. πŸ’…

✨ NAME ✨

Name line, verbatim: std::flat_multiset::rend, - std::flat_multiset::rend, β€” yes, it says it twice with a little dash in the middle. Repetition is the brand. πŸŽ€

✨ Synopsis ✨

Signatures, exact, no cap:

reverse_iterator rend() noexcept;              (1) (since C++23)
const_reverse_iterator rend() const noexcept;  (2) (since C++23)
const_reverse_iterator crend() const noexcept; (3) (since C++23)

It returns a reverse iterator to the element following the last element of the reversed flat_multiset. It corresponds to the element preceding the first element of the non-reversed flat_multiset. This element acts as a placeholder, attempting to access it results in undefined behavior. 🫠

⚠️ placeholder energy: attempting to access that element = undefined behavior. Do not poke it, bestie. 😭

Also, the page has the diagram range-rbegin-rend.svg β€” that’s the exact filename right there. πŸ¦‹

🫢 Parameters 🫢

(none) β€” zero, nada, no arguments. Slay. ✨

πŸ’– Return value πŸ’–

Reverse iterator to the element following the last element. πŸ’«

⚑ Complexity ⚑

Constant. That’s it. ⭐

🌸 Notes 🌸

Because both iterator and const_iterator are constant iterators (and may in fact be the same type), it is not possible to mutate the elements of the container through an iterator returned by any of these member functions. So don’t try to glow-up the elements through these iterators β€” they said no. πŸ™…β€β™€οΈ

πŸŽ€ Example πŸŽ€

// Run this code

#include <iostream>
#include <flat_set>

int main()
{
    std::flat_multiset<unsigned> rep{1, 2, 3, 4, 1, 2, 3, 4};

    for (auto it = rep.crbegin(); it != rep.crend(); ++it)
    {
        for (auto n = *it; n > 0; --n)
            std::cout << "⏼" << ' ';
        std::cout << '\n';
    }
}

🌈 Output 🌈

⏼ ⏼ ⏼ ⏼
⏼ ⏼ ⏼ ⏼
⏼ ⏼ ⏼
⏼ ⏼ ⏼
⏼ ⏼
⏼ ⏼
⏼
⏼

πŸ¦‹ See also πŸ¦‹

  • rbegin β€” returns a reverse iterator to the beginning
  • crbegin β€” (public member function)
  • rend β€” returns a reverse end iterator for a container or array
  • crend β€” (function template)
    • (C++14) β€” the version tag listed right under it on the page

mwah πŸ’‹ β€” sourced from http://cppreference.com, version/date 2024.06.10, for page std::flat_multiset::rend,(3). 🫢

πŸ“¦ where this page comes from