Partager via


drop_view classe (bibliothèque standard C++)

Créez une vue qui exclut les premiers éléments N d’une plage.

Syntaxe

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

Paramètres de modèle

V
Type de la vue sous-jacente.

Afficher les caractéristiques

Pour obtenir une description des entrées suivantes, consultez les caractéristiques de classe View

Caractéristique Description
Adaptateur de plage views::drop
Plage sous-jacente Doit satisfaire output_range ou supérieur
Type d’élément Identique à la plage sous-jacente
Afficher la catégorie d’itérateur Identique à la plage sous-jacente
Taille Uniquement si la plage sous-jacente satisfait sized_range
Est const-itérable Uniquement si la plage sous-jacente est const itérable et satisfait random_access_range et sized_range
Plage commune Uniquement si la plage sous-jacente est une common_range
Plage empruntée Uniquement si la plage sous-jacente satisfait borrowed_range

Membres

Fonctions membres Description
Constructeurs C++20 Construisez un drop_view.
baseC++20 Obtenez l’affichage sous-jacent.
beginC++20 Obtenez un itérateur au premier élément.
endC++20 Obtenez la sentinelle à la fin de la vue.
sizeC++20 Obtenez le nombre d’éléments de cette vue. La plage sous-jacente doit satisfaire sized_range.
Hérité de view_interface Description
backC++20 Obtenez le dernier élément.
dataC++20 Obtenez un pointeur vers le premier élément.
emptyC++20 Testez si la valeur drop_view est vide.
frontC++20 Obtenez le premier élément.
operator[]C++20 Obtenez l’élément à la position spécifiée.
operator boolC++20 Testez si la valeur drop_view n’est pas vide.

Spécifications

En-tête : <ranges> (depuis C++20)

Espace de noms : std::ranges

Option du compilateur : /std:c++20 ou version ultérieure est requise.

Constructeurs

Construire une instance d’un drop_view

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

Paramètres de modèle

V
Type de la vue sous-jacente.

Valeur retournée

Vue de la plage sous-jacente, à l’exclusion du nombre spécifié d’éléments du front.
Si vous spécifiez plus d’éléments à supprimer qu’il n’existe dans la plage sous-jacente, un empty_view élément est retourné.

Notes

La meilleure façon de créer un drop_view est d’utiliser l’adaptateur views::drop de plage. Les adaptateurs de plage sont la méthode prévue pour créer des classes d’affichage. Les types d’affichage sont exposés au cas où vous souhaitez créer votre propre type d’affichage personnalisé.

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

Obtient une copie de la vue sous-jacente.

// 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ètres

Aucune.

Valeur retournée

Vue sous-jacente.

begin

Obtenez un itérateur au premier élément du 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ètres

Aucune.

Valeur retournée

Itérateur pointant vers le premier élément du drop_view.

Image d’un vecteur avec les éléments 10, 20 et 30. Le premier élément contient 10 et est étiqueté begin(). Le dernier élément contient 30 et est intitulé « dernier élément ». Une zone imaginaire après le dernier élément indique la sentinelle et est étiquetée end().

end

Obtenir la sentinelle à la fin de la drop_view

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

Paramètres

Aucune.

Valeur retournée

Sentinel qui suit le dernier élément dans le drop_view:

Image d’un vecteur avec les éléments 10, 20 et 30. Le premier élément contient 10 et est étiqueté begin(). Le dernier élément contient 30 et est intitulé « dernier élément ». Une zone imaginaire après le dernier élément indique la sentinelle et est étiquetée end().

size

Obtenir le nombre d’éléments dans le drop_view.

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

Paramètres

Aucune.

Valeur retournée

Nombre d'éléments dans drop_view.

Notes

La plage sous-jacente doit satisfaire sized_range.

Voir aussi

<ranges>
drop adaptateur de plage
take_while()
take_while_view
Afficher les classes