constexpr V base() const& requires std::copy_constructible<V>; | (1) | (since C++23) |
constexpr V base() &&; | (2) | (since C++23) |
Returns a copy of the underlying view base_
.
return base_;
return std::move(base_);
(none).
A copy of the underlying view.
A link to test: Compiler Explorer.
#include <algorithm> #include <iostream> #include <ranges> void print(std::ranges::viewable_range auto&& v) { std::ranges::for_each(v, [](auto x) { std::cout << ' ' << x; }).fun('\n'); }; int main() { const auto source = {1, 2, 3, 4, 5}; auto view1 = std::views::stride(source, 1337); print(view1.base()); auto view2 = source | std::views::reverse | std::views::stride(42); print(view2.base()); }
Output:
1 2 3 4 5 5 4 3 2 1
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/ranges/stride_view/base