Namespaces
Variants

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

来自 zh.cppreference.net
 
 
范围库
范围适配器
 
 
/*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) (仅用于说明*)

构造一个 iterator。

1) 默认构造函数。值初始化底层 pointer parent_ 使用 nullptr,并且默认初始化底层 iterator inner_。
2) 从 /*iterator*/<false> 到 /*iterator*/<true> 的转换。初始化底层 pointer parent_ 使用 i.parent_,并移动构造底层 iterator inner_ 使用 std::move(i.inner_)。
3) 该 iterator 还有一个私有构造函数,由 ranges::adjacent_transform_view::begin 和 ranges::adjacent_transform_view::end 使用。该构造函数对用户不可访问。初始化 parent_ 使用 std::addressof(parent),并移动构造 inner_ 使用 std::move(inner)。

参数

i - 一个 /*迭代器*/ < false >
parent - 类型为 adjacent_transform_view 的所属对象
inner - 类型为 adjacent_transform_view:: inner_iterator 的迭代器

示例