std::ranges::concat_view<Views...>::concat_view

来自cppreference.com
< cpp‎ | ranges‎ | concat view
 
 
范围库
范围适配器
 
 
concat_view() = default;
(1) (C++26 起)
constexpr concat_view( Views... views );
(2) (C++26 起)
 重载  views_
(1) 默认初始化
(2)  以 std::move(views)... 初始化 

参数

views - 要适配的各视图对象

注解

要调用默认构造函数的情况下必须显式提供 Views,并且它包含的所有类型都必须可默认初始化。

单个实参的 views::concat(r) 表达式等价于 views::all(r)

示例

这个示例的一个早期预览版本在 Compiler Explorer

#include <algorithm>
#include <ranges>
 
int main()
{
    using namespace std::ranges;
 
    static constexpr concat_view<empty_view<char>> concat1{}; // 重载 (1)
    static_assert(equal(concat1, views::empty<char>));
 
    static constexpr auto con = {'c', 'o', 'n'};
    static constexpr char cat[]{'c', 'a', 't', '\0'};
    static constexpr auto concat2{views::concat(con, cat)};   // 重载 (2)
    static_assert(equal(concat2, "concat"));
}