Namespaces
Variants

std::ranges::enumerate_view<V>::iterator<Const>::iterator

来自 zh.cppreference.net
 
 
范围库
范围适配器
 
 
/*iterator*/()
    requires std::default_initializable<ranges::iterator_t<Base>> = default;
(1) (C++23 起)
constexpr /*iterator*/( /*iterator*/<!Const> i )
    requires Const &&
        std::convertible_to<ranges::iterator_t<V>, ranges::iterator_t<Base>>;
(2) (C++23 起)
private:
constexpr explicit /*iterator*/( ranges::iterator_t<Base> current,
                                 difference_type pos);
(3) (仅用于阐释*)

构造一个迭代器。

1) 默认构造函数。值初始化底层迭代器 current_ 为 ranges::iterator_t<Base>(),并将 底层索引 pos_ 初始化为 0。
2) 从 /*iterator*/<false> 转换为 /*iterator*/<true>。以 current_movestd:: 初始化 (i.current_),并以 pos_ 初始化 i.pos_。
3) 一种私有构造函数,由 enumerate_view::begin 和 enumerate_view::end 使用。该构造函数对用户不可访问。以 current_ 初始化 std::move(current),并以 pos_ 初始化 pos。

参数

i - 一个 /*iterator*/ < false >

示例