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

С сайта ru.cppreference.net
 
 
Библиотека диапазонов
Адаптеры диапазонов
 
Определён в заголовочном файле <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 отсутствовал добавлен

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

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