名稱空間
變體
操作

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

來自 cppreference.com
< 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 的結果不一致
(無)
微調

[編輯] 參閱

計算迭代器的關聯型別
(別名模板)[編輯]
獲取範圍的大小、差值和值型別
(別名模板)[編輯]
獲取範圍的引用型別
(別名模板)[編輯]