std::ranges::range_reference_t, std::ranges::range_const_reference_t, std::ranges::range_rvalue_reference_t, std::ranges::range_common_reference_t - cppreference.com (original) (raw)
| Defined in header | ||
|---|---|---|
| template< ranges::range R > using range_reference_t = std::iter_reference_t<ranges::iterator_t<R>>; | (1) | (since C++20) |
| template< ranges::range R > using range_const_reference_t = std::iter_const_reference_t<ranges::iterator_t<R>>; | (2) | (since C++23) |
| template< ranges::range R > using range_rvalue_reference_t = std::iter_rvalue_reference_t<ranges::iterator_t<R>>; | (3) | (since C++20) |
| template< ranges::range R > using range_common_reference_t = std::iter_common_reference_t<ranges::iterator_t<R>>; | (4) | (since C++20) |
Used to obtain the reference type of the iterator type of range type
R.Used to obtain the constant reference type of the iterator type of range type
R.Used to obtain the rvalue reference type of the iterator type of range type
R.Used to obtain the common reference type of the iterator type of range type
R.
[edit] Template parameters
[edit] Defect reports
The following behavior-changing defect reports were applied retroactively to previously published C++ standards.
| DR | Applied to | Behavior as published | Correct behavior |
|---|---|---|---|
| LWG 3860 | C++20 | range_common_reference_t was missing | added |