命名空间
变体
操作

std::ranges::cartesian_product_view<First, Vs...>::iterator<Const>::operator++,--,+=,-=

来自 cppreference.com
 
 
范围库
范围适配器
 
 
constexpr /*iterator*/& operator++();
(1) (自 C++23 起)
constexpr void operator++( int );
(2) (自 C++23 起)
constexpr /*iterator*/ operator++( int )
    requires ranges::forward_range</*maybe-const*/<Const, First>>;
(3) (自 C++23 起)
constexpr /*iterator*/& operator--()
    requires /*cartesian-product-is-bidirectional*/<Const, First, Vs...>;
(4) (自 C++23 起)
constexpr /*iterator*/ operator--( int )
    requires /*cartesian-product-is-bidirectional*/<Const, First, Vs...>;
(5) (自 C++23 起)
constexpr /*iterator*/& operator+=( difference_type n )
    requires /*cartesian-product-is-random-access*/<Const, First, Vs...>;
(6) (自 C++23 起)
constexpr /*iterator*/& operator-=( difference_type n )
    requires /*cartesian-product-is-random-access*/<Const, First, Vs...>;
(7) (自 C++23 起)

递增或递减 迭代器.

current_ 表示底层迭代器元组,parent_ 表示指向 cartesian_product_view 的底层指针。

1) 等效于 next(); return *this;
2) 等效于 ++*this;
3) 等效于 auto tmp = *this; ++*this; return tmp;
4) 等效于 prev(); return *this;
5) 等效于 auto tmp = *this; --*this; return tmp;
6)*this 的值设置为 ret,其中 ret
  • 如果 n > 0,则为 *this 的值,前提是 next 已被调用 n 次。否则,
  • 如果 n < 0,则为 *this 的值,前提是 prev 已被调用 -n 次。否则,
  • 调用之前的 *this 的值。
如果 n 不在范围 [ranges::distance(*this, ranges::begin(*parent_))ranges::distance(*this, ranges::end(*parent_))) 中,则行为未定义。
7) 等效于 *this += -n; return *this;.

内容

[编辑] 参数

n - 相对于当前位置的位置

[编辑] 返回值

1,4,6,7) *this
2) (无)
3,5) 在更改之前创建的 *this 的副本。

[编辑] 复杂度

6) 常数。

[编辑] 示例

[编辑] 参见

执行迭代器运算
(函数)