Namespaces
Variants

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

From cppreference.net
Ranges library
Range adaptors
constexpr const Pred & pred ( ) const ;
(C++20以降)

格納された述語への参照を返します。

* this が述語を保持しない場合(例: * this への代入時に例外がスローされ、 Pred のコピー構築またはムーブ構築が行われる場合)、動作は未定義です。

パラメータ

(なし)

戻り値

格納された述語への参照 pred_

#include <array>
#include <iomanip>
#include <iostream>
#include <ranges>
int main()
{
    constexpr std::array data{0, -1, -2, 3, 1, 4, 1, 5};
    auto view = std::ranges::drop_while_view
    {
        data, [](int x) { return x <= 0; }
    };
    std::cout << std::boolalpha;
    for (int x : data)
        std::cout << "predicate(" << std::setw(2) << x << ") : "
                  << view.pred()(x) << '\n';
}

出力:

predicate( 0) : true
predicate(-1) : true
predicate(-2) : true
predicate( 3) : false
predicate( 1) : false
predicate( 4) : false
predicate( 1) : false
predicate( 5) : false