std::ranges::enumerate_view<V>::end
來自 cppreference.com
< cpp | ranges | enumerate view
constexpr auto end() requires (!__simple_view<V>); |
(1) | (C++23 起) |
constexpr auto end() const requires /*range-with-movable-references*/<const V>; |
(2) | (C++23 起) |
返回一個與 enumerate_view
的末尾迭代器相等的 迭代器 或 哨兵。
設 base_
表示底層檢視。
1) 等價於
if constexpr (ranges::forward_range<V> and ranges::common_range<V> and ranges::sized_range<V>) return /*iterator*/<false>(ranges::end(base_), ranges::distance(base_)); else return /*sentinel*/<false>(ranges::end(base_));
2) 等價於
if constexpr (ranges::forward_range<const V> and ranges::common_range<const V> and ranges::sized_range<const V>) return /*iterator*/<true>(ranges::end(base_), ranges::distance(base_)); else return /*sentinel*/<true>(ranges::end(base_));
目錄 |
[編輯] 引數
(無)
[編輯] 返回值
一個 迭代器 或 哨兵,代表 enumerate_view
的末尾,如上所述。
[編輯] 示例
本節不完整 原因:無示例 |
[編輯] 缺陷報告
下列更改行為的缺陷報告追溯地應用於以前出版的 C++ 標準。
缺陷報告 | 應用於 | 釋出時的行為 | 正確的行為 |
---|---|---|---|
LWG 3919 | C++23 | 對於有大小的公共 非前向底層範圍, ranges::distance 可能會引發未定義行為。 |
對於此類範圍,返回哨兵型別。 |
[編輯] 參閱
返回指向起始的迭代器 (公共成員函式) | |
(C++20) |
返回指示範圍末尾的哨兵 (定製點物件) |