Namespaces
Variants

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

来自 zh.cppreference.net
 
 
范围库
范围适配器
 
std::ranges::chunk_view
成员函数
针对 input_ranges 的类
推导指引
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) 默认构造函数。值初始化底层数据成员:
  • current_ 用 ranges::iterator_t<Base>(),
  • end_ 用 ranges::sentinel_t<Base>(),
  • n_ 用 0,
  • missing_ 用 0。
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::begin 和 ranges::chunk_view::end 使用。该构造函数对用户不可访问。初始化底层数据成员:
  • current_ 用 current,
  • end_ 用 ranges::end(parent->base_),
  • n_ 用 parent->n_,
  • missing_ 用 missing。

参数

i - 一个 /*iterator*/ < false >
parent - 指向所属 chunk_view 的指针
current - 指向当前块起始位置的迭代器
missing - 预期( n_ )与当前块实际大小之间的差值

示例