Namespaces
Variants

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

来自 zh.cppreference.net
 
 
范围库
范围适配器
 
 
/*iterator*/();
(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 /*iterator*/( ranges::iterator_t<Base> current,
                        ranges::range_difference_t<Base> n )
    requires (!/*slide-caches-first*/<Base>);
(3) (仅用于阐述*)
private:
constexpr /*iterator*/( ranges::iterator_t<Base> current,
                        ranges::iterator_t<Base> last_ele,
                        ranges::range_difference_t<Base> n )
    requires /*slide-caches-first*/<Base>;
(4) (仅用于阐述*)

构造迭代器。

1) 默认构造函数。 值初始化底层数据成员:
  • current_ 使用 ranges::iterator_t<Base>(),
  • last_ele_ 使用 ranges::iterator_t<Base>()(注意该成员可能不存在),
  • n_ 使用 0。
2) 从 /*iterator*/<false> 转换到 /*iterator*/<true>。初始化底层数据成员: 注意仅当 /*iterator*/<true> 满足 Base 概念时才可形成 /*slide-caches-nothing*/,此时 last_ele_ 不存在。
3) 一个私有构造函数,由 ranges::slide_view::begin 和 ranges::slide_view::end 使用。该构造函数对用户不可访问。初始化底层数据成员: 注意仅当 last_ele_ 不存在时才有该重载。
4) 一个私有构造函数,由 ranges::slide_view::begin 和 ranges::slide_view::end 使用。该构造函数对用户不可访问。初始化底层数据成员:
  • current_ 使用 current,
  • last_ele_ 使用 last_ele(注意由于 /*slide-caches-first*/<Base> 要求,该数据成员存在),
  • n_ 使用 n。

参数

i - 一个 /*iterator*/ < false >
current - 指向 slide_view 当前元素的迭代器
last_ele - 指向 slide_view 末尾元素的迭代器
n - slide_view 的滑动窗口宽度

示例