std::set::r...:set::crend(3)
π NAME π
Hey bestie! π This is the std::set::r...:set::crend(3) page from the C++ Standard Libary (yes, the manual name really says βLibaryβ β we respect the typo era).
std::set::rend,std::set::crend - std::set::rend,std::set::crend
β¨ Synopsis β¨
The synopsis is literally this, same signatures and same noexcept tea, no cap:
reverse_iterator rend(); (1) (noexcept since
C++11)
const_reverse_iterator rend() const; (2) (noexcept since
C++11)
const_reverse_iterator crend() const noexcept; (3) (since C++11)
So what does it do? It returns a reverse iterator to the element following the last element of the reversed set. It corresponds to the element preceding the first element of the non-reversed set. This element acts as a placeholder, attempting to access it results in undefined behavior β so do not dereference it, bestie, that's not the vibe π.
The original page also has this visual: range-rbegin-rend.svg π¦.
π Parameters π
(none) β literally zero parameters. Not a single one. Slay.
π Return value π
Reverse iterator to the element following the last element. That's the whole return value, periodt.
β‘ Complexity β‘
Constant. Always. No cap.
π 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.
Also lowkey iconic: libc++ backports crend() to C++98 mode.
πΈ Example πΈ
Okay, run this code and watch the little βΌ tower happen:
// Run this code
#include <iostream>
#include <set>
int main()
{
std::set<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 beginningcrbeginβ public member function (C++11)rendβ returns a reverse end iterator for a container or arraycrendβ function template (C++14)
Bye bestie! π Source/version: http://cppreference.com Β· date stamp: 2024.06.10 π«Ά
π¦ where this page comes from
- nixpkgs unstable: stdman 2024.07.05
- opensuse-leap 16.0: stdman 2024.07.05-bp160.1.9 Β· MIT
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms