Namespaces
Variants

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

Von de.cppreference.net
 
 
Ranges-Bibliothek
Range-Adapter
 
 
drop_while_view() requires std::default_initializable<V> &&
                           std::default_initializable<Pred> = default;
(1) (seit C++20)
constexpr explicit drop_while_view( V base, Pred pred );
(2) (seit C++20)

Konstruiert ein drop_while_view.

1) Standardkonstruktor. Wertinitialisiert die zugrundeliegende View base_ und das Prädikat pred_.
2) Verschiebekonstruiert die zugrundeliegende View base_ von base und das Prädikat pred_ von pred.

Parameter

base - zugrunde liegende Ansicht
pred - Prädikat

Beispiel

#include <functional>
#include <iostream>
#include <ranges>
int main()
{
    static constexpr auto a = {-2, -7, -1, -8, -2, +-+8, 3, 1, 4, 1, 5};
    auto positive = [](int x) { return 0 < x; };
    for (auto v = std::ranges::drop_while_view{a, std::not_fn(positive)}; int x : v)
        std::cout << x << ' ';
    std::cout << '\n';
}

Ausgabe:

3 1 4 1 5

Fehlerberichte

Die folgenden verhaltensändernden Fehlerberichte wurden rückwirkend auf zuvor veröffentlichte C++-Standards angewendet.

DR Angewendet auf Verhalten wie veröffentlicht Korrigiertes Verhalten
LWG 3714
( P2711R1 )
C++20 der Mehrparameter-Konstruktor war nicht explicit als explicit deklariert
P2325R3 C++20 wenn Pred nicht default_initializable ist, konstruiert der Standardkonstruktor
ein drop_while_view , das kein Pred enthält
das drop_while_view ist ebenfalls
nicht default_initializable