Freigeben über


drop_view Klasse (C++-Standardbibliothek)

Erstellen Sie eine Ansicht, die die ersten N-Elemente eines Bereichs ausschließt.

Syntax

template<ranges::view V>
class drop_view : public ranges::view_interface<drop_view<V>>;

Vorlagenparameter

V
Der Typ der zugrunde liegenden Ansicht.

Eigenschaften der Ansicht

Eine Beschreibung der folgenden Einträge finden Sie unter Anzeigen von Klassenmerkmalen

Merkmal Beschreibung
Range Adaptor views::drop
Zugrunde liegender Bereich Muss erfüllen output_range oder höher
Elementtyp Identisch mit dem zugrunde liegenden Bereich
Iteratorkategorie anzeigen Identisch mit dem zugrunde liegenden Bereich
Größer eingestellt Nur, wenn der zugrunde liegende Bereich erfüllt ist sized_range
Ist const-iterierbar Nur, wenn der zugrunde liegende Bereich iterierbar ist const und erfüllt random_access_range und sized_range
Allgemeiner Bereich Nur, wenn der zugrunde liegende Bereich ein common_range
Geliehener Bereich Nur, wenn der zugrunde liegende Bereich erfüllt ist borrowed_range

Member

Memberfunktionen Beschreibung
Konstruktoren C++20 Erstellen Sie ein drop_view.
baseC++20 Rufen Sie die zugrunde liegende Ansicht ab.
beginC++20 Rufen Sie einen Iterator zum ersten Element ab.
endC++20 Rufen Sie den Sentinel am Ende der Ansicht ab.
sizeC++20 Rufen Sie die Anzahl der Elemente in dieser Ansicht ab. Der zugrunde liegende Bereich muss erfüllt sein sized_range.
Geerbt von view_interface Beschreibung
backC++20 Rufen Sie das letzte Element ab.
dataC++20 Rufen Sie einen Zeiger auf das erste Element ab.
emptyC++20 Testen Sie, ob die Datei drop_view leer ist.
frontC++20 Rufen Sie das erste Element ab.
operator[]C++20 Rufen Sie das Element an der angegebenen Position ab.
operator boolC++20 Testen Sie, ob die drop_view Datei nicht leer ist.

Anforderungen

Header: <ranges> (seit C++20)

Namespace:std::ranges

Compileroption: /std:c++20 oder höher ist erforderlich.

Konstruktoren

Erstellen einer Instanz einer drop_view

template<ranges::view V>
class drop_view : public ranges::view_interface<drop_view<V>>

Vorlagenparameter

V
Der Typ der zugrunde liegenden Ansicht.

Rückgabewert

Eine Ansicht des zugrunde liegenden Bereichs, mit Ausnahme der angegebenen Anzahl von Elementen von vorne.
Wenn Sie mehr Elemente angeben, die im zugrunde liegenden Bereich abzulegen sind, wird ein empty_view Wert zurückgegeben.

Hinweise

Die beste Methode zum Erstellen eines Steuerelements drop_view ist die Verwendung des views::drop Bereichsadapters. Bereichsadapter sind die beabsichtigte Möglichkeit zum Erstellen von Ansichtsklassen. Die Ansichtstypen werden für den Fall verfügbar gemacht, dass Sie ihren eigenen benutzerdefinierten Ansichtstyp erstellen möchten.

Beispiel: drop_view

// requires /std:c++20 or later
#include <ranges>
#include <iostream>
#include <vector>

int main()
{
    std::vector<int> v{ 1, 2, 3, 4, 5 };
    auto newView = std::views::drop(v, 3);
    for (auto e : newView) // outputs 4 5
    {
        std::cout << e << ' ';
    }
    std::cout << '\n';

    auto numbers = std::views::iota(0) | std::views::take(10); // generate a view of 10 integers
    for (auto i : numbers | std::views::drop(5)) // use the '|' syntax to create a drop_view
    {
        std::cout << i << ' '; // outputs 5 6 7 8 9
    }
}
4 5
5 6 7 8 9

base

Ruft eine Kopie der zugrunde liegenden Ansicht ab.

// Uses a copy constructor to return the underlying view
constexpr V base() const& requires std::copy_constructible<V>;

// Uses a move constructor to return the underlying view
constexpr V base() &&;

Parameter

Keine

Rückgabewert

Die zugrunde liegende Ansicht.

begin

Rufen Sie einen Iterator zum ersten Element in der drop_view.

constexpr auto begin()
  requires (!(Simple_view<V> && ranges::random_access_range<const V> && ranges::sized_range<const V>));

constexpr auto begin() const
  requires ranges::random_access_range<const V> && ranges::sized_range<const V>;

Parameter

Keine

Rückgabewert

Ein Iterator, der auf das erste Element in der drop_view.

Abbildung eines Vektors mit den Elementen 10, 20 und 30. Das erste Element enthält 10 und ist mit

end

Abrufen des Sentinels am Ende des drop_view

constexpr auto end() requires (!Simple_view<V>);
constexpr auto end() const requires ranges::range<const V>;

Parameter

Keine

Rückgabewert

Der Sentinel, der auf das letzte Element in der drop_view:

Abbildung eines Vektors mit den Elementen 10, 20 und 30. Das erste Element enthält 10 und ist mit

size

Ruft die Anzahl der Elemente in der drop_view.

constexpr auto size() requires ranges::sized_range<V>;
constexpr auto size() const requires ranges::sized_range<const V>;

Parameter

Keine

Rückgabewert

Die Anzahl der Elemente im drop_view.

Hinweise

Der zugrunde liegende Bereich muss erfüllt sein sized_range.

Siehe auch

<ranges>
drop Range Adaptor
take_while()
take_while_view
Anzeigen von Klassen