std::map::r...:map::crend(3)
π NAME π
hey bestie, you're on the std::map::r...:map::crend(3) page from the C++ Standard Libary manual, and today's main characters are std::map::rend,std::map::crend β aka std::map::rend,std::map::crend π
β¨
πΈ Synopsis πΈ
okay so there are three overloads, 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)
These return a reverse iterator to the element following the last element of the reversed map. It corresponds to the element preceding the first element of the non-reversed map. This element acts as a placeholder, and attempting to access it results in undefined behavior ππ¨
the original page also has this diagram file: range-rbegin-rend.svg π¦
π Parameters π
(none) β zero arguments, zilch, nothing to pass, bestie π«Ά
β Return value β
Reverse iterator to the element following the last element. that's the whole vibe π
π₯ Complexity π₯
Constant. no scaling drama, literally constant π
π Notes π
libc++ backports crend() to C++98 mode. cute, iconic, noted π
π Example π
// Run this code
#include <chrono>
#include <iomanip>
#include <iostream>
#include <string_view>
#include <map>
using namespace std::chrono;
int main()
{
const std::map<year_month_day, int> messages
{
{February/17/2023, 10},
{February/17/2023, 20},
{February/16/2022, 30},
{October/22/2022, 40},
{June/14/2022, 50},
{November/23/2021, 60},
{December/10/2022, 55},
{December/12/2021, 45},
{April/1/2020, 42},
{April/1/2020, 24}
};
std::cout << "Messages received (date order is reversed):\n";
for (auto it = messages.crbegin(); it != messages.crend(); ++it)
std::cout << it->first << " : " << it->second << '\n';
}
Possible output:
Messages received (date order is reversed):
2023-02-17 : 10
2022-12-10 : 55
2022-10-22 : 40
2022-06-14 : 50
2022-02-16 : 30
2021-12-12 : 45
2021-11-23 : 60
2020-04-01 : 42
π§ 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)
source/version check, bestie: http://cppreference.com, dated 2024.06.10 β reverse-iterate responsibly and slay the day π«Άπβ¨
π¦ 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