std::ranges::iterator_t, std::ranges::sentinel_t, std::ranges::range_difference_t, std::ranges::range_value_t, std::ranges::range_reference_t, std::ranges::range_rvalue_reference_t

来自cppreference.com
< cpp‎ | ranges
定义于头文件 <ranges>
template <ranges::range T>
using iterator_t = decltype(ranges::begin(declval<T&>()));
(1) (C++20 起)
template <ranges::range T>
using sentinel_t = decltype(ranges::end(declval<T&>()));
(2) (C++20 起)
template <ranges::range T>
using range_difference_t = std::iter_difference_t<ranges::iterator_t<T>>;
(3) (C++20 起)
template <ranges::range T>
using range_value_t = std::iter_value_t<ranges::iterator_t<T>>;
(4) (C++20 起)
template <ranges::range T>
using range_reference_t = std::iter_reference_t<ranges::iterator_t<T>>;
(5) (C++20 起)
template <ranges::range T>

using range_rvalue_reference_t =

    std::iter_rvalue_reference_t<ranges::iterator_t<T>>;
(6) (C++20 起)
1) 用于获得 T 的迭代器类型。
2) 用于获得 T 的哨位类型。
3) 用于获得 T 的迭代器类型的差类型。
4) 用于获得 T 的迭代器类型的值类型。
5) 用于获得 T 的迭代器类型的引用类型。
6) 用于获得 T 的迭代器类型的右值引用类型。

模板形参

T - range 类型

参阅

计算迭代器的关联类型
(别名模板)