std::span<T,Extent>::rbegin, std::span<T,Extent>::crbegin

From cppreference.com
< cpp‎ | container‎ | span

 
 
 
std::span
Member functions
(C++20)
Element access
(C++20)
(C++20)
Iterators
(C++20)(C++23)
span::rbeginspan::crbegin
(C++20)(C++23)
(C++20)(C++23)
Observers
(C++20)
Subviews
(C++20)
Non-member functions
Non-member constant
Deduction guides(C++20)
 
constexpr reverse_iterator rbegin() const noexcept;
(1) (since C++20)
constexpr const_reverse_iterator crbegin() const noexcept;
(2) (since C++23)

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().

range-rbegin-rend.svg

Parameters

(none)

Return value

Reverse iterator to the first element.

Complexity

Constant.

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);
}

Output:

password

See also

(C++20)(C++23)
returns a reverse iterator to the end
(public member function)
returns a reverse iterator to the beginning of a container or array
(function template)