std::ranges::adjacent_transform_view<V,F,N>::iterator<Const>::iterator

来自cppreference.com
 
 
范围库
范围适配器
 
 
/*iterator*/() = default;
(1) (C++23 起)
constexpr /*iterator*/( /*iterator*/<!Const> i )

    requires Const &&

        std::convertible_to</*inner-iterator*/<false>, /*inner-iterator*/<Const>>;
(2) (C++23 起)
private:
constexpr /*iterator*/( Parent& parent, /*inner-iterator*/<Const> inner );
(3) (仅用于阐述*)

构造一个迭代器。

1) 默认构造函数。用 nullptr 值初始化底层指针 parent_,并默认初始化底层迭代器 inner_
2)/*iterator*/<false>/*iterator*/<true> 的转换。用 i.parent_ 初始化底层指针 parent_,并用std::move(i.inner_)移动构造底层迭代器 inner_
3) 此迭代器同样拥有一个私有构造函数被用于构造 ranges::adjacent_transform_view::beginranges::adjacent_transform_view::end。用户无法访问此构造函数。使用 std::addressof(parent) 初始化 parent_,并使用std::move(inner) 移动构造 inner_

参数

i - /*iterator*/<false>
parent - 拥有它的 adjacent_transform_view 类型的对象
inner - adjacent_transform_view::inner_iterator 类型的迭代器

示例