Sdílet prostřednictvím


drop_view class (standardní knihovna jazyka C++)

Vytvořte zobrazení, které vyloučí první N elementy oblasti.

Syntaxe

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

Parametry šablony

V
Typ podkladového zobrazení.

Zobrazení charakteristik

Popis následujících položek naleznete v tématu Zobrazení vlastností třídy.

Charakteristika Popis
Adaptér rozsahu views::drop
Podkladová oblast Musí splňovat output_range nebo vyšší
Typ elementu Stejné jako podkladová oblast
Zobrazit kategorii iterátoru Stejné jako podkladová oblast
Tříděný Pouze v případě, že základní rozsah splňuje požadavky sized_range
Je const-iterable Pouze v případě, že je const základní rozsah iterovatelný a splňuje random_access_rangesized_range
Společný rozsah Pouze v případě, že je podkladová oblast common_range
Zapůjčený rozsah Pouze v případě, že základní rozsah splňuje požadavky borrowed_range

Členové

Členské funkce Popis
KonstruktoryC++20 Vytvoření .drop_view
baseC++20 Získejte podkladové zobrazení.
beginC++20 Získejte iterátor k prvnímu prvku.
endC++20 Získejte sentinel na konci zobrazení.
sizeC++20 Získejte počet prvků v tomto zobrazení. Základní rozsah musí splňovat sized_range.
Zděděno z view_interface Popis
backC++20 Získejte poslední prvek.
dataC++20 Získejte ukazatel na první prvek.
emptyC++20 Otestujte, jestli drop_view je prázdný.
frontC++20 Získejte první prvek.
operator[]C++20 Získejte prvek na zadané pozici.
operator boolC++20 Otestujte, jestli drop_view není prázdný.

Požadavky

Hlavička: <ranges> (od C++20)

Obor názvů: std::ranges

Je vyžadována možnost kompilátoru: /std:c++20 nebo novější.

Konstruktory

Vytvoření instance objektu drop_view

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

Parametry šablony

V
Typ podkladového zobrazení.

Vrácená hodnota

Zobrazení podkladového rozsahu s výjimkou zadaného počtu prvků z přední části.
Pokud zadáte více prvků, které se mají v podkladové oblasti vypustit, empty_view vrátí se.

Poznámky

Nejlepší způsob, jak vytvořit, drop_view je použití adaptéru rozsahu views::drop . Adaptéry rozsahu představují zamýšlený způsob vytváření tříd zobrazení. Typy zobrazení jsou vystaveny pro případ, že chcete vytvořit vlastní typ zobrazení.

Příklad: 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

Získá kopii podkladového zobrazení.

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

Parametry

Žádná

Vrácená hodnota

Podkladové zobrazení.

begin

Získejte iterátor na první prvek v objektu 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>;

Parametry

Žádná

Vrácená hodnota

Iterátor ukazující na první prvek v objektu drop_view.

Obrázek vektoru s prvky 10, 20 a 30 První prvek obsahuje hodnotu 10 a je označen jako begin(). Poslední prvek obsahuje hodnotu 30 a je označený jako

end

Získání sentinelu na konci drop_view

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

Parametry

Žádná

Vrácená hodnota

Sentinel, který následuje za posledním prvkem v :drop_view

Obrázek vektoru s prvky 10, 20 a 30 První prvek obsahuje hodnotu 10 a je označen jako begin(). Poslední prvek obsahuje hodnotu 30 a je označený jako

size

Získá počet prvků v souboru drop_view.

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

Parametry

Žádná

Vrácená hodnota

Počet prvků v souboru drop_view.

Poznámky

Základní rozsah musí splňovat sized_range.

Viz také

<ranges>
drop adaptér rozsahu
take_while()
take_while_view
Zobrazit třídy