std::ranges::drop_view<V>::drop_view

来自cppreference.com
< cpp‎ | ranges‎ | drop view
 
 
 
std::ranges::drop_view
成员函数
drop_view::drop_view
(C++20)
推导指引 (C++20)
 
drop_view() requires std::default_initializable<V> = default;
(1) (C++20 起)
constexpr drop_view( V base, ranges::range_difference_t<V> count );
(2) (C++20 起)

构造 drop_view

1) 默认构造函数。值初始化底层视图并初始化计数为 0 。构造后 base() 返回 V() 的副本而 size() 等于底层视图的大小。
2)std::move(base) 初始化底层视图并以 count 初始化计数。构造后 base() 返回 base 的副本而 size()base 的大小不小于 count 则返回 ranges::size(base) - count ,否则返回 0

参数

base - 底层视图
count - 要跳过的元素数

示例

#include <algorithm>
#include <array>
#include <iostream>
#include <iterator>
#include <ranges>
 
int main()
{
    constexpr std::array hi{ 'H','e','l','l','o',',',' ','C','+','+','2','0' };
 
    std::ranges::for_each(hi, [](const char c){ std::cout << c; });
    std::cout << '\n';
 
    constexpr auto n = std::distance(hi.cbegin(), std::ranges::find(hi, 'C'));
 
    auto cxx = std::ranges::drop_view{ hi, n };
 
    std::ranges::for_each(cxx, [](const char c){ std::cout << c; });
    std::cout << '\n';
}

输出:

Hello, C++20
C++20