std::span<T,Extent>::rbegin, std::span<T,Extent>::crbegin - cppreference.com (original) (raw)

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 *this. It corresponds to the last element of the non-reversed *this.

If *this is empty, the returned iterator is equal to rend().

range-rbegin-rend.svg

[edit] Return value

Reverse iterator to the first element.

[edit] Complexity

Constant.

[edit] 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.

[edit] Example

#include #include #include #include   int main() { constexpr std::span 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(std::cout), hack);   std::cout << '\n'; }

Output:

[edit] See also

| | returns a reverse iterator to the end (public member function) [edit] | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | | returns a reverse iterator to the beginning of a container or array (function template) [edit] |