Namespaces
Variants

std::ranges::drop_while_view<V,Pred>:: base

From cppreference.net
Ranges library
Range adaptors
constexpr V base ( ) const & requires std:: copy_constructible < V > ;
(1) (C++20 이후)
constexpr V base ( ) && ;
(2) (C++20 이후)

기본 뷰의 복사본을 반환합니다.

1) 기본 뷰 base_ 에서 결과를 복사 생성합니다.
2) 기본 뷰 base_ 에서 결과를 이동 생성합니다.

매개변수

(없음)

반환값

기본 뷰의 복사본.

예제

#include <algorithm>
#include <array>
#include <iostream>
#include <ranges>
void print(auto first, auto last)
{
    for (; first != last; ++first)
        std::cout << *first << ' ';
    std::cout << '\n';
}
int main()
{
    std::array data{1, 2, 3, 4, 5};
    print(data.cbegin(), data.cend());
    auto func = [](int x) { return x < 3; };
    auto view = std::ranges::drop_while_view{data, func};
    print(view.begin(), view.end());
    auto base = view.base(); // `base`는 `data`를 참조함
    std::ranges::reverse(base); //< `data`를 간접적으로 변경함
    print(data.cbegin(), data.cend());
}

출력:

1 2 3 4 5
3 4 5
5 4 3 2 1