Condividi tramite


drop_view classe (libreria standard C++)

Creare una vista che esclude i primi N elementi di un intervallo.

Sintassi

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

Parametri del modello

V
Tipo della vista sottostante.

Visualizzare le caratteristiche

Per una descrizione delle voci seguenti, vedere Visualizzare le caratteristiche della classe

Caratteristica Descrizione
Adattatore di intervallo views::drop
Intervallo sottostante Deve soddisfare output_range o superiore
Tipo di elemento Uguale all'intervallo sottostante
Visualizzare la categoria iteratore Uguale all'intervallo sottostante
Dimensioni Solo se l'intervallo sottostante soddisfa sized_range
Iterabile const Solo se l'intervallo sottostante è const iterabile e soddisfa random_access_range e sized_range
Intervallo comune Solo se l'intervallo sottostante è un common_range
Intervallo preso in prestito Solo se l'intervallo sottostante soddisfa borrowed_range

Membri

Funzioni membro Descrizione
Costruttori C++20 Creare un oggetto drop_view.
baseC++20 Ottenere la visualizzazione sottostante.
beginC++20 Ottenere un iteratore al primo elemento.
endC++20 Ottenere l'sentinel alla fine della visualizzazione.
sizeC++20 Ottiene il numero di elementi in questa visualizzazione. L'intervallo sottostante deve soddisfare sized_range.
Ereditato da view_interface Descrizione
backC++20 Ottiene l'ultimo elemento.
dataC++20 Ottenere un puntatore al primo elemento.
emptyC++20 Verificare se l'oggetto drop_view è vuoto.
frontC++20 Ottenere il primo elemento.
operator[]C++20 Ottiene l'elemento nella posizione specificata.
operator boolC++20 Verificare se l'oggetto drop_view non è vuoto.

Requisiti

Intestazione: <ranges> (da C++20)

Spazio dei nomi: std::ranges

Opzione del compilatore: /std:c++20 o versione successiva è obbligatoria.

Costruttori

Costruire un'istanza di un oggetto drop_view

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

Parametri del modello

V
Tipo della vista sottostante.

Valore restituito

Visualizzazione dell'intervallo sottostante, escluso il numero specificato di elementi dalla parte anteriore.
Se si specificano più elementi da eliminare rispetto all'intervallo sottostante, viene restituito un valore empty_view .

Osservazioni:

Il modo migliore per creare un drop_view oggetto consiste nell'usare l'adattatore views::drop di intervallo. Gli adattatori di intervallo sono il modo previsto per creare classi di visualizzazione. I tipi di visualizzazione vengono esposti nel caso in cui si voglia creare un tipo di visualizzazione personalizzato.

Esempio: 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

Ottiene una copia della visualizzazione sottostante.

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

Parametri

Nessuna.

Valore restituito

Visualizzazione sottostante.

begin

Ottenere un iteratore al primo elemento dell'oggetto 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>;

Parametri

Nessuna.

Valore restituito

Iteratore che punta al primo elemento dell'oggetto drop_view.

Immagine di un vettore con gli elementi 10, 20 e 30. Il primo elemento contiene 10 ed è etichettato begin(). L'ultimo elemento contiene 30 e viene etichettato come 'ultimo elemento'. Una casella immaginaria dopo l'ultimo elemento indica la sentinella ed è etichettata end().

end

Ottenere la sentinella alla fine del drop_view

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

Parametri

Nessuna.

Valore restituito

Sentinel che segue l'ultimo elemento in drop_view:

Immagine di un vettore con gli elementi 10, 20 e 30. Il primo elemento contiene 10 ed è etichettato begin(). L'ultimo elemento contiene 30 e viene etichettato come 'ultimo elemento'. Una casella immaginaria dopo l'ultimo elemento indica la sentinella ed è etichettata end().

size

Ottiene il numero di elementi nell'oggetto drop_view.

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

Parametri

Nessuna.

Valore restituito

Numero di elementi in drop_view.

Osservazioni:

L'intervallo sottostante deve soddisfare sized_range.

Vedi anche

<ranges>
drop adattatore di intervallo
take_while()
take_while_view
Visualizzare le classi