std::ranges::concat_view<Views...>::concat_view
From cppreference.com
< cpp | ranges | concat view
C++
Feature test macros (C++20)
Concepts library (C++20)
Metaprogramming library (C++11)
Ranges library (C++20)
Filesystem library (C++17)
Concurrency support library (C++11)
Execution control library (C++26)
Ranges library
(C++23)(C++23)
(C++23)(C++23)
(C++23)(C++23)
(C++26)(C++26)
(C++23)(C++23)
(C++23)(C++23)
(C++23)(C++23)
(C++23)(C++23)
(C++23)(C++23)
(C++23)
(C++23)(C++23)
(C++23)
(C++23)(C++23)
(C++23)(C++23)
(C++23)(C++23)
(C++23)(C++23)
(C++23)(C++23)
(C++23)
std::ranges::concat_view
concat_view::concat_view
concat_view() = default;
(1)
(since C++26)
constexpr concat_view( Views... views );
(2)
(since C++26)
Overload | views_
|
---|---|
(1) | default-initialized |
(2) | initialized with std::move(views)... |
[edit] Parameters
views
-
view objects to adapt
[edit] Notes
In order to call the default constructor, Views
must be explicitly provided and all types it contains must be default-initializable.
[edit] Example
An early preview of the example is available in Compiler Explorer.
Run this code
#include <algorithm> #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")); }