std::ranges::chunk_by_view<V,Pred>::find_next, std::ranges::chunk_by_view<V,Pred>::find_prev

来自cppreference.com
 
 
范围库
范围适配器
 
 

std::ranges::chunk_by_view::next

constexpr ranges::iterator_t<V>
    /*find-next*/( ranges::iterator_t<V> current );
(C++23 起)
(仅用于阐述*)

查找下一个区块。

base_pred_chunk_by_view 的适当的底层数据成员。

等价于:

return ranges::next
(
    ranges::adjacent_find
    (
        current, ranges::end(base_), std::not_fn(std::ref(*pred_))
    ),
    1, ranges::end(base_)
);

如果在调用该函数前 pred_.has_value()false,则其行为未定义。

在以下非静态成员函数中使用:

参数

current - 指向所适配视图中的当前元素的迭代器

返回值

指向下一个区块的迭代器,如上所述。

std::ranges::chunk_by_view::prev

constexpr ranges::iterator_t<V>

    /*find-prev*/( ranges::iterator_t<V> current )

        requires ranges::bidirectional_range<V>;
(C++23 起)
(仅用于阐述*)

查找前一个区块。

base_pred_chunk_by_view 的适当的底层数据成员。

返回范围 [ranges::begin(base_)current) 内的迭代器 i,条件如下:

如果在调用该函数前 current == ranges::begin(base_) 或者 pred_.has_value() != true,则其行为未定义。

在以下非静态成员函数中使用:

参数

current - 指向所适配视图中的当前元素的迭代器

返回值

指向前一个区块的迭代器,如上所述。