名稱空間
變體
操作

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

來自 cppreference.com
 
 
範圍庫 (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` refers to the `data`
    std::ranges::reverse(base); //< changes `data` indirectly
    print(data.cbegin(), data.cend());
}

輸出

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