|
Range primitives | |||||||
|
Range concepts | |||||||||||||||||||
|
Range factories | |||||||||
|
Range adaptors | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
Helper items | |||||||||||||||||
|
Defined in header <ranges> | ||
Defined in header <iterator> | ||
inlinenamespace/* unspecified */{ inlineconstexpr/* unspecified */ crbegin=/* unspecified */; | (since C++20) (customization point object) | |
Call signature | ||
template<class T> requires/* see below */ | (since C++20) | |
Returns an iterator to the first element of the const-qualified argument that is treated as a reversed sequence. | (until C++23) |
Returns a constant iterator to the first element of the argument that is treated as a reversed sequence. | (since C++23) |
Let
A call to | (until C++23) |
If the argument is an lvalue orranges::enable_borrowed_range<std::remove_cv_t<T>> istrue, then a call to
In all other cases, a call to | (since C++23) |
The return type modelsstd::input_or_output_iterator andconstant-iterator
(since C++23) in all cases.
The nameranges::crbegin
denotes acustomization point object, which is a constfunction object of aliteralsemiregular
class type. SeeCustomizationPointObject for details.
#include <cassert>#include <iterator>#include <span>#include <vector> int main(){std::vector<int> v{3,1,4};auto vi= std::ranges::crbegin(v);assert(*vi==4);++vi;// OK, iterator object is mutableassert(*vi==1);// *vi = 13; // Error: underlying element is read-only int a[]{-5,10,15};auto ai= std::ranges::crbegin(a);assert(*ai==15); // auto x_x = std::ranges::crbegin(std::vector<int>{6, 6, 6});// ill-formed: the argument is an rvalue (see Notes ↑) auto si= std::ranges::crbegin(std::span{a});// OKassert(*si==15); static_assert( std::ranges::enable_borrowed_range<std::remove_cv_t<decltype(std::span{a})>>);}
(C++20) | returns a reverse iterator to a range (customization point object)[edit] |
(C++14) | returns a reverse iterator to the beginning of a container or array (function template)[edit] |