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

来自cppreference.com
< cpp‎ | ranges‎ | chunk view‎ | iterator
 
 
范围库
范围适配器
 
std::ranges::chunk_view
成员函数
input_range
推导指引
outer-iterator
outer-iterator::value_type
inner-iterator
 
/*iterator*/() = 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_) 初始化,
  • n_i.n_ 初始化,
  • missing_i.missing_ 初始化。
3) 用于 ranges::chunk_view::beginranges::chunk_view::end 的私有构造函数,此构造函数无法被用户访问,初始化底层数据成员
  • current_current 初始化,
  • end_ranges::end(parent->base_) 初始化,
  • n_parent->n_ 初始化,
  • missing_missing 初始化。

参数

i - /*iterator*/<false>
parent - 指向所持有的 chunk_view 的指针
current - 指向当前块首部的迭代器
missing - 当前块的预期大小(n_)与实际大小的差值

示例