命名空间
变体
操作

std::ranges::iterator_t, std::ranges::const_iterator_t, std::ranges::sentinel_t, std::ranges::const_sentinel_t

来自 cppreference.cn
< cpp‎ | ranges
 
 
范围库 (Ranges library)
范围适配器 (Range adaptors)
 
定义于头文件 <ranges>
template< class T >
using iterator_t = decltype(ranges::begin(std::declval<T&>()));
(1) (C++20 起)
template< ranges::range R >
using const_iterator_t = decltype(ranges::cbegin(std::declval<R&>()));
(2) (C++23 起)
template< ranges::range R >
using sentinel_t = decltype(ranges::end(std::declval<R&>()));
(3) (C++20 起)
template< ranges::range R >
using const_sentinel_t = decltype(ranges::cend(std::declval<R&>()));
(4) (C++23 起)
1) 用于获得类型 T 的迭代器类型。
2) 用于获得 range 类型 R 的常迭代器类型。
3) 用于获得 range 类型 R 的哨位类型。
4) 用于获得 range 类型 R 的常哨位类型。

目录

[编辑] 模板形参

T - 一个可用于 std::ranges::begin 的类型
R - 一个 range 类型或 sized_range 类型

[编辑] 注意

iterator_t 可应用于非 range 类型,例如未知边界数组。

[编辑] 缺陷报告

下列更改行为的缺陷报告追溯地应用于以前出版的 C++ 标准。

缺陷报告 应用于 发布时的行为 正确的行为
LWG 3946 C++23 const_iterator_tconst_sentinel_t 分别与 ranges::cbeginranges::cend 的结果不一致
(无)
微调

[编辑] 参阅

计算迭代器的关联类型
(别名模板)[编辑]
获取范围的大小、差值和值类型
(别名模板)[编辑]
获取范围的引用类型
(别名模板)[编辑]