Namespaces
Variants

std::ranges::enumerate_view<V>:: end

From cppreference.net
Ranges library
Range adaptors
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 对于具有大小但非前向的底层范围可能引发未定义行为 对此类范围返回哨兵类型

参见

返回指向起始位置的迭代器
(公开成员函数)
返回指示范围结束的哨兵
(定制点对象)