std::span<T,Extent>::rbegin, std::span<T,Extent>::crbegin
Min standard notice:
Returns a reverse iterator to the first element of the reversed span. It corresponds to the last element of the non-reversed span. If the span is empty, the returned iterator is equal to rend().
# Declarations
constexpr reverse_iterator rbegin() const noexcept;
(since C++20)
constexpr const_reverse_iterator crbegin() const noexcept;
(since C++23)
# Return value
Reverse iterator to the first element.
# Notes
The underlying iterator of the returned reverse iterator is the end iterator. Hence the returned iterator is invalidated if and when the end iterator is invalidated.
# Example
#include <algorithm>
#include <iostream>
#include <iterator>
#include <span>
int main()
{
constexpr std::span<const char> code{"@droNE_T0P_w$s@s#_SECRET_a,p^42!"};
auto hack = [](const unsigned O) { return O - 0141 < 120; };
std::copy_if(code.rbegin(), code.rend(),
std::ostream_iterator<const char>(std::cout), hack);
std::cout << '\n';
}