drop_view osztály (C++ standard kódtár)

Hozzon létre egy nézetet, amely kizárja a tartomány első N elemeit.

Szemantika

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

Sablonparaméterek

V
Az alapul szolgáló nézet típusa.

Jellemzők megtekintése

Az alábbi bejegyzések leírásáért lásd: Osztályjellemzők megtekintése

Jellemző Leírás
Tartomány adaptere views::drop
Mögöttes tartomány Meg kell felelnie vagy magasabbnak kell lennie output_range
Elem típusa Ugyanaz, mint a mögöttes tartomány
Iterátor kategória megtekintése Ugyanaz, mint a mögöttes tartomány
Méretű Csak akkor, ha a mögöttes tartomány megfelel sized_range
Iterable const Csak akkor, ha az alapul szolgáló tartomány const iteráló, és megfelel a random_access_rangesized_range
Gyakori tartomány Csak akkor, ha a mögöttes tartomány egy common_range
Kölcsönzött tartomány Csak akkor, ha a mögöttes tartomány megfelel borrowed_range

Tagok

Tagfüggvények Leírás
KonstruktorokC++20 Hozzon létre egy drop_view.
base C++20 Kérje le a mögöttes nézetet.
begin C++20 Iterátor lekérése az első elemhez.
end C++20 Kérje le a sentinelt a nézet végén.
size C++20 A nézetben található elemek számának lekérése. A mögöttes tartománynak meg kell felelnie sized_range.
Öröklődve innen: view_interface Leírás
back C++20 Az utolsó elem lekérése.
data C++20 Mutasson az első elemre.
empty C++20 Ellenőrizze, hogy üres-e drop_view .
front C++20 Az első elem lekérése.
operator[] C++20 Kérje le az elemet a megadott pozícióba.
operator bool C++20 Ellenőrizze, hogy nem drop_view üres-e.

Követelmények

Fejléc:<ranges> (A C++20 óta)

Névtér:std::ranges

Fordítási lehetőség:/std:c++20 vagy újabb verzióra van szükség.

Konstruktorok

Példány létrehozása drop_view

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

Sablonparaméterek

V
Az alapul szolgáló nézet típusa.

Visszaadott érték

Az alapul szolgáló tartomány nézete, az elöl megadott számú elem kivételével.
Ha több elvetendő elemet ad meg, mint amennyi a mögöttes tartományban található, akkor a rendszer egy empty_view értéket ad vissza.

Megjegyzések

A legjobb módszer a tartományadafótor használatával views::drop történő létrehozásradrop_view. A nézetosztályok létrehozásának célja a tartományadabrátorok. A nézettípusok akkor jelennek meg, ha saját egyéni nézettípust szeretne létrehozni.

Példa: 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

Lekéri a mögöttes nézet másolatát.

// 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() &&;

Paraméterek

Nincs.

Visszaadott érték

Az alapul szolgáló nézet.

begin

Iterátor lekérése a 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>;

Paraméterek

Nincs.

Visszaadott érték

Egy iterátor, amely a drop_view.

Egy vektor képe a 10, 20 és 30 elemekkel. Az első elem 10-et tartalmaz, és a kezdő() címkével van ellátva. Az utolsó elem 30-at tartalmaz, és az

end

A sentinel lekérése a drop_view

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

Paraméterek

Nincs.

Visszaadott érték

A következő elem utolsó elemét drop_viewkövető sentinel:

Egy vektor képe a 10, 20 és 30 elemekkel. Az első elem 10-et tartalmaz, és a kezdő() címkével van ellátva. Az utolsó elem 30-at tartalmaz, és az

size

Az elemek számának lekérése a drop_view.

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

Paraméterek

Nincs.

Visszaadott érték

drop_viewA .

Megjegyzések

A mögöttes tartománynak meg kell felelnie sized_range.

Lásd még

<ranges>
drop távolsági adapter
take_while()
take_while_view
Osztályok megtekintése