Spec-Zone.ru › C++

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

Определено в заголовочном файле <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 отсутствовал добавлен

См. также

iter_value_titer_reference_titer_const_reference_titer_difference_titer_rvalue_reference_titer_common_reference_t
(C++20)(C++20)(C++23)(C++20)(C++20)(C++20)
вычисляет связанные типы итератора
(шаблон псевдонима)
ranges::iterator_tranges::const_iterator_tranges::sentinel_tranges::const_sentinel_t
(C++20)(C++23)(C++20)(C++23)
получает типы итератора и дозорного диапазона
(шаблон псевдонима)
ranges::range_difference_tranges::range_size_tranges::range_value_t
(C++20)(C++20)(C++20)
получает типы размера, разности и значения диапазона
(шаблон псевдонима)

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/ranges/range_reference_t

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API