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 . |
base C++20 |
Obtenez l’affichage sous-jacent. |
begin C++20 |
Obtenez un itérateur au premier élément. |
end C++20 |
Obtenez la sentinelle à la fin de la vue. |
size C++20 |
Obtenez le nombre d’éléments de cette vue. La plage sous-jacente doit satisfaire sized_range . |
Hérité de view_interface |
Description |
back C++20 |
Obtenez le dernier élément. |
data C++20 |
Obtenez un pointeur vers le premier élément. |
empty C++20 |
Testez si la valeur drop_view est vide. |
front C++20 |
Obtenez le premier élément. |
operator[] C++20 |
Obtenez l’élément à la position spécifiée. |
operator bool C++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
.
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
:
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