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

来自cppreference.com
< cpp‎ | ranges‎ | stride view‎ | iterator
 
 
范围库
范围适配器
 
 
/*iterator*/()
    requires std::default_initializable<ranges::iterator_t<Base>> = default;
(1) (C++23 起)
constexpr /*iterator*/( /*iterator*/<!Const> i )

    requires Const and
        std::convertible_to<ranges::iterator_t<V>, ranges::iterator_t<Base>> and

        std::convertible_to<ranges::sentinel_t<V>, ranges::sentinel_t<Base>>;
(2) (C++23 起)
private:

constexpr /*iterator*/( /*Parent*/& parent,
                        ranges::iterator_t<Base> current,

                        ranges::range_difference_t<Base> missing = 0 );
(3) (仅用于阐述*)

构造迭代器。

1) 默认构造函数。值初始化:
2) 从 /*iterator*/<false> 到 /*iterator*/<true> 的转换,
  • current_ 以 std::move(i.current_) 初始化,
  • end_ 以 std::move(i.end_) 初始化,
  • stride_ 以 i.stride_ 初始化,
  • missing_ 以 i.missing_ 初始化。
3) 被 stride_view::begin 与 stride_view::end 使用的私有构造函数,此构造函数无法被用户访问。

参数

i - /*iterator*/<false>

示例