From cppreference.com
constexprVbase()const&requiresstd::copy_constructible<V>; (1) (since C++23)constexprVbase()&&; (2) (since C++23)1) Copy constructs the result from the underlying view. Equivalent to return
;.
2) Move constructs the result from the underlying view. Equivalent to returnstd::
(
);.
Return value
A copy of the underlying view.
Example
Run this code
#include<algorithm>#include<iostream>#include<ranges>voidprint(std::ranges::viewable_rangeauto&&v){std::ranges::for_each(v,[](autox){std::cout<<' '<<x;}).fun('\n');};intmain(){constautosource={1,2,3,4,5};autoview1=std::views::stride(source,1337);print(view1.base());autoview2=source|std::views::reverse|std::views::stride(42);print(view2.base());}Output:
1 2 3 4 5 5 4 3 2 1