Namespaces
Variants

std::ranges::concat_view<Представления...>::concat_view

От ru.cppreference.net
 
 
Библиотека диапазонов
Адаптеры диапазонов
 
 
concat_view() = default;
(1) (начиная с C++26)
constexpr concat_view( Views... views );
(2) (начиная с C++26)

Создаёт concat_view.

1) Конструктор по умолчанию. Инициализирует значением базовые представления.
2) Инициализирует базовые представления с помощью std::move(views)....

Параметры

представления - объекты представлений для адаптации

Примечания

Для вызова конструктора по умолчанию Views должен быть явно указан, и все содержащиеся в нем типы должны поддерживать инициализацию по умолчанию.

Пример

#include <algorithm>
#include <print>
#include <ranges>

int main()
{
    using namespace std::ranges;

    static constexpr concat_view<empty_view<char>> concat1{}; // overload (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)};   // overload (2)
    static_assert(equal(concat2, "concat"));
    std::println("{}", concat2);
}

Вывод:

['c', 'o', 'n', 'c', 'a', 't', '\u{0}']