Namespaces
Variants

std::ranges:: range_reference_t, std::ranges:: range_const_reference_t, std::ranges:: range_rvalue_reference_t, std::ranges:: range_common_reference_t

From cppreference.net
Ranges library
Range primitives
range_reference_t range_const_reference_t range_rvalue_reference_t range_common_reference_t
(C++23)
Range adaptors
Определено в заголовочном файле <ranges>
template < ranges:: range R >
using range_reference_t = std:: iter_reference_t < ranges:: iterator_t < R >> ;
(1) (начиная с C++20)
template < ranges:: range R >

using range_const_reference_t =

std:: iter_const_reference_t < ranges:: iterator_t < R >> ;
(2) (начиная с C++23)
template < ranges:: range R >

using range_rvalue_reference_t =

std:: iter_rvalue_reference_t < ranges:: iterator_t < R >> ;
(3) (начиная с C++20)
template < ranges:: range R >

using range_common_reference_t =

std:: iter_common_reference_t < ranges:: iterator_t < R >> ;
(4) (начиная с C++20)
1) Используется для получения типа ссылки типа итератора типа диапазона R .
2) Используется для получения константного ссылочного типа типа итератора типа диапазона R .
3) Используется для получения типа rvalue-ссылки типа итератора типа диапазона R .
4) Используется для получения общего ссылочного типа итератора типа диапазона R .

Параметры шаблона

R - тип range или тип sized_range

Отчёты о дефектах

Следующие отчеты об изменениях в поведении, содержащие описания дефектов, были применены ретроактивно к ранее опубликованным стандартам C++.

DR Применяется к Поведение в опубликованной версии Корректное поведение
LWG 3860 C++20 range_common_reference_t отсутствовал добавлен

Смотрите также

вычисляет связанные типы итератора
(псевдоним шаблона)
получает типы итератора и сторожа диапазона
(псевдоним шаблона)
получает типы размера, разности и значения диапазона
(псевдоним шаблона)